:root{--color-bg-primary: #FFFFFF;--color-bg-secondary: rgb(250, 247, 240);--color-bg-accent: #FDFCFA;--color-text-primary: #1e2525;--color-text-secondary: #6B6B6B;--color-text-light: #9B9B9B;--color-accent: #1e2525;--color-border: #F0EDE8;--color-border-light: #F8F6F2;--font-primary: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-primary: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-logo: "NewYork", serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 48px;--font-size-5xl: 64px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--max-width: 1440px;--header-height: 60px;--header-top-height: 60px;--header-nav-height: 50px;--header-total-height: 110px;--transition-fast: all .2s ease;--transition-base: all .3s ease;--transition-slow: all .4s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .2);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 20px;--border-radius-round: 50%;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-fixed: 300;--z-index-modal-backdrop: 400;--z-index-modal: 500;--z-index-popover: 600;--z-index-tooltip: 700;--color-badge-sale: #E74C3C;--color-badge-featured: #F39C12;--color-success: #27AE60;--color-warning: #F39C12;--color-error: #E74C3C;--color-error-bg: #FDEDED;--color-error-text: #C0392B;--color-info: #3498DB;--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .12);--shadow-button: 0 2px 4px rgba(0, 0, 0, .1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:#faf7f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}ul,ol{list-style:none}img,picture,svg{display:block;max-width:100%;height:auto}input,textarea,select{font-family:inherit;font-size:inherit}fieldset{border:none;padding:0;margin:0}.skip-nav{position:absolute;top:-40px;left:0;background:var(--color-text-primary);color:#fff;padding:8px 16px;z-index:10001;text-decoration:none;font-family:Satoshi,sans-serif;font-size:.9rem;transition:top .2s ease}.skip-nav:focus{top:10px;left:10px;outline:2px solid white;outline-offset:2px}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2;color:var(--color-text-primary)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2.5vw,1.5rem)}h5{font-size:clamp(1.125rem,2vw,1.25rem)}h6{font-size:1rem}p{margin:0 0 1rem;line-height:1.6}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-bold{font-weight:var(--font-weight-bold)}.font-primary{font-family:var(--font-family-primary)}.font-serif{font-family:NewYork,serif}.leading-tight{line-height:1.2}.leading-normal{line-height:1.6}.leading-relaxed{line-height:1.8}.tracking-tight{letter-spacing:-.02em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.05em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);border:2px solid transparent;border-radius:var(--border-radius-sm);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;cursor:pointer;transition:var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:focus{outline:2px solid var(--color-text-primary);outline-offset:2px}.btn:focus:not(:focus-visible){outline:none}.btn:active{transform:translateY(1px)}.btn-primary{background-color:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary);box-shadow:var(--shadow-button)}.btn-primary:hover{background-color:#1e2525d9;border-color:#1e2525d9}.btn-primary:active{box-shadow:none}.btn-secondary{background-color:transparent;color:var(--color-text-primary);border-color:var(--color-text-primary)}.btn-secondary:hover{background-color:var(--color-text-primary);color:var(--color-bg-primary)}.btn-tertiary{background-color:transparent;color:var(--color-text-primary);border-color:transparent;padding:var(--spacing-sm) var(--spacing-md)}.btn-tertiary:hover{opacity:.6}.btn-ghost{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-border)}.btn-link{background:none;border:none;color:var(--color-text-primary);text-decoration:underline;padding:0}.btn-link:hover{opacity:.6}.btn-link:active{transform:none}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-md{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.btn-lg{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-xl{padding:var(--spacing-xl) var(--spacing-2xl);font-size:var(--font-size-xl)}.btn-block{width:100%;display:flex}.btn:disabled,.btn.disabled{background-color:var(--color-border-light);color:var(--color-text-light);border-color:var(--color-border-light);cursor:not-allowed;opacity:.6;box-shadow:none}.btn:disabled:hover,.btn.disabled:hover{background-color:var(--color-border-light);color:var(--color-text-light);border-color:var(--color-border-light);transform:none}.btn:disabled:active,.btn.disabled:active{transform:none}.btn.loading{position:relative;color:transparent;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:button-spin .6s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;gap:var(--spacing-sm)}.btn-group .btn{flex:1}.btn-icon{padding:var(--spacing-sm);width:40px;height:40px}.btn-icon.btn-sm{width:32px;height:32px;padding:var(--spacing-xs)}.btn-icon.btn-lg{width:48px;height:48px;padding:var(--spacing-md)}.btn svg{width:18px;height:18px}.btn svg:first-child:not(:last-child){margin-right:var(--spacing-sm)}.btn svg:last-child:not(:first-child){margin-left:var(--spacing-sm)}.btn-danger{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover{background-color:#c0392b;border-color:#c0392b}.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover{background-color:#229954;border-color:#229954}.btn-warning{background-color:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn-warning:hover{background-color:#d68910;border-color:#d68910}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-primary{background-color:var(--color-text-primary);color:var(--color-bg-primary)}.badge-sale{background-color:var(--color-badge-sale);color:#fff}.badge-new{background-color:var(--color-success);color:#fff}.badge-featured{background-color:var(--color-badge-featured);color:#fff}.badge-out-of-stock{background-color:var(--color-text-secondary);color:#fff}.badge-success{background-color:var(--color-success);color:#fff}.badge-warning{background-color:var(--color-warning);color:#fff}.badge-danger{background-color:var(--color-error);color:#fff}.badge-info{background-color:var(--color-info);color:#fff}.badge-subtle{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.badge-outlined{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.badge-sm{padding:2px var(--spacing-xs);font-size:10px}.badge-md{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.badge-lg{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.badge-overlay{position:absolute;z-index:10}.badge-top-left{top:var(--spacing-sm);left:var(--spacing-sm)}.badge-top-right{top:var(--spacing-sm);right:var(--spacing-sm)}.badge-bottom-left{bottom:var(--spacing-sm);left:var(--spacing-sm)}.badge-bottom-right{bottom:var(--spacing-sm);right:var(--spacing-sm)}.badge svg{width:12px;height:12px;margin-right:4px}.badge-dot{padding:0;width:8px;height:8px;border-radius:50%}.badge-dot.badge-lg{width:12px;height:12px}.badge-pill{border-radius:999px;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:var(--spacing-xl)}.breadcrumb-list{display:flex;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:var(--spacing-sm)}.breadcrumb-item{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breadcrumb-item a{color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-fast)}.breadcrumb-item a:hover{color:var(--color-text-primary)}.breadcrumb-item.active,.breadcrumb-item:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.breadcrumb-separator{display:inline-flex;align-items:center;margin:0 var(--spacing-xs);color:var(--color-text-light);-webkit-user-select:none;user-select:none}.breadcrumb-item:not(:last-child):after{content:"/";margin-left:var(--spacing-sm);color:var(--color-text-light)}.breadcrumb.separator-arrow .breadcrumb-item:not(:last-child):after{content:"›"}.breadcrumb.separator-chevron .breadcrumb-item:not(:last-child):after{content:">"}.breadcrumb.separator-dot .breadcrumb-item:not(:last-child):after{content:"•"}@media (max-width: 640px){.breadcrumb{font-size:var(--font-size-xs)}.breadcrumb.mobile-compact .breadcrumb-item:not(:first-child):not(:last-child){display:none}.breadcrumb.mobile-compact .breadcrumb-item:nth-child(2):before{content:"...";margin:0 var(--spacing-xs);color:var(--color-text-light)}}.breadcrumb-item svg{width:14px;height:14px;margin-right:var(--spacing-xs)}.breadcrumb-home-icon{width:16px;height:16px}.alert{display:flex;align-items:flex-start;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);border:1px solid transparent;font-size:var(--font-size-base);line-height:1.5;margin-bottom:var(--spacing-md)}.alert-content{flex:1}.alert-title{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.alert-message{color:inherit}.alert-error{background-color:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error)}.alert-error .alert-title{color:var(--color-error)}.alert-success{background-color:#e8f5e9;color:#1b5e20;border-color:var(--color-success)}.alert-success .alert-title{color:var(--color-success)}.alert-warning{background-color:#fff3e0;color:#e65100;border-color:var(--color-warning)}.alert-warning .alert-title{color:var(--color-warning)}.alert-info{background-color:#e3f2fd;color:#0d47a1;border-color:var(--color-info)}.alert-info .alert-title{color:var(--color-info)}.alert-neutral{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.alert-icon{flex-shrink:0;width:20px;height:20px;margin-right:var(--spacing-md);margin-top:2px}.alert-dismissible{position:relative;padding-right:var(--spacing-3xl)}.alert-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:inherit;opacity:.6;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center}.alert-close:hover{opacity:1}.alert-close svg{width:16px;height:16px}.alert-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.alert-lg{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-lg)}.alert-actions{margin-top:var(--spacing-md);display:flex;gap:var(--spacing-sm)}.alert-actions .btn{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}@keyframes alert-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert.alert-animated{animation:alert-slide-in .3s ease-out}.alert-bordered{border-left-width:4px}.alert-outlined{background-color:transparent;border-width:2px}.alert-outlined.alert-error{color:var(--color-error)}.alert-outlined.alert-success{color:var(--color-success)}.alert-outlined.alert-warning{color:var(--color-warning)}.alert-outlined.alert-info{color:var(--color-info)}.product-card{display:block;background-color:var(--color-bg-primary);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:var(--shadow-card);transition:var(--transition-base);text-decoration:none;color:inherit}.product-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.product-card-image{position:relative;width:100%;height:256px;overflow:hidden;background-color:var(--color-bg-secondary)}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .product-card-image img{transform:scale(1.05)}.product-card-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);z-index:10}.product-card-favorite{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);z-index:10}.product-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:5}.product-card-overlay-text{color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em}.product-card-content{padding:var(--spacing-md)}.product-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;transition:var(--transition-fast)}.product-card:hover .product-card-title{color:var(--color-text-secondary)}.product-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.product-card-price-container{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-top:auto}.product-card-prices{display:flex;align-items:center;gap:var(--spacing-sm)}.product-card-price{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.product-card-price-original{font-size:var(--font-size-sm);color:var(--color-text-light);text-decoration:line-through}.product-card-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.product-card-btn{background-color:var(--color-text-primary);color:var(--color-bg-primary);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-text-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.product-card-btn:hover{background-color:#1e2525d9;border-color:#1e2525d9}.product-card.compact .product-card-image{height:200px}.product-card.compact .product-card-content{padding:var(--spacing-sm)}.product-card.compact .product-card-title{font-size:var(--font-size-base)}.product-card.featured{box-shadow:var(--shadow-md)}.product-card.featured .product-card-image{height:320px}.product-card.featured:hover{box-shadow:var(--shadow-lg)}.product-card.horizontal{display:flex;flex-direction:row}.product-card.horizontal .product-card-image{width:40%;height:auto;min-height:200px}.product-card.horizontal .product-card-content{flex:1;display:flex;flex-direction:column}@media (max-width: 640px){.product-card.horizontal{flex-direction:column}.product-card.horizontal .product-card-image{width:100%;height:200px}}.product-card.disabled{opacity:.7;cursor:not-allowed}.product-card.disabled:hover{transform:none;box-shadow:var(--shadow-card)}.product-card.loading{position:relative;pointer-events:none}.product-card.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center}.product-card-specs{display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:var(--transition-fast)}.pagination-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-text-light)}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 640px){.product-card-image{height:200px}.product-card-price{font-size:var(--font-size-xl)}.pagination{gap:var(--spacing-sm)}.pagination-btn{padding:var(--spacing-xs) var(--spacing-md)}}.product-grid{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.product-grid{grid-template-columns:repeat(4,1fr)}.product-grid-1col{grid-template-columns:1fr}.product-grid-2col{grid-template-columns:repeat(2,1fr)}.product-grid-3col{grid-template-columns:repeat(3,1fr)}.product-grid-4col{grid-template-columns:repeat(4,1fr)}.product-grid-5col{grid-template-columns:repeat(5,1fr)}.product-grid.gap-sm{gap:var(--spacing-sm)}.product-grid.gap-md{gap:var(--spacing-md)}.product-grid.gap-lg{gap:var(--spacing-lg)}.product-grid.gap-xl{gap:var(--spacing-xl)}@media (min-width: 1280px){.product-grid-5col{grid-template-columns:repeat(5,1fr)}}@media (min-width: 1024px) and (max-width: 1279px){.product-grid,.product-grid-4col,.product-grid-5col{grid-template-columns:repeat(4,1fr)}.product-grid-3col{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.product-grid,.product-grid-3col,.product-grid-4col,.product-grid-5col,.product-grid-2col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.product-grid,.product-grid-2col,.product-grid-3col,.product-grid-4col,.product-grid-5col{grid-template-columns:1fr}}@media (max-width: 640px){.product-grid{gap:var(--spacing-md)}}.product-grid-empty{grid-column:1 / -1;text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.product-grid-empty-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);opacity:.3}.product-grid-empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.product-grid-empty-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.product-grid.loading{opacity:.6;pointer-events:none}.product-grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width: 640px){.product-grid-auto{grid-template-columns:1fr}}.product-grid-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:10px;gap:var(--spacing-lg)}.product-grid-masonry .product-card{grid-row-end:span 50}.favorite-btn{background:none;border:none;cursor:pointer;padding:8px;display:inline-flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%;transition:transform .2s ease,opacity .2s ease;box-shadow:0 2px 8px #0000001a}.favorite-btn:hover{transform:scale(1.1)}.favorite-btn:disabled{opacity:.5;cursor:not-allowed}.favorite-btn:disabled:hover{transform:none}.favorite-btn.size-sm svg{width:20px;height:20px}.favorite-btn svg,.favorite-btn.size-md svg{width:24px;height:24px}.favorite-btn.size-lg svg{width:32px;height:32px}.favorite-btn .heart-outline{color:#9ca3af;fill:none;stroke:currentColor;stroke-width:2;transition:color .2s ease}.favorite-btn:hover .heart-outline{color:#ef4444}.favorite-btn .heart-filled{color:#ef4444;fill:currentColor}.product-card-favorite .favorite-btn{position:relative;z-index:10}.cart-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background-color:#00000080;transition:opacity .3s ease}.cart-drawer{position:fixed;top:0;right:0;height:100%;width:100%;max-width:28rem;background-color:#fff;box-shadow:0 20px 50px #0003;z-index:1200;transform:translate(100%);transition:transform .3s ease-in-out;visibility:hidden;pointer-events:none}.cart-drawer.open{transform:translate(0);visibility:visible;pointer-events:auto}.cart-drawer-inner{display:flex;flex-direction:column;height:100%}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #E5E7EB}.cart-drawer-title{font-size:24px;font-weight:700;color:#111827}.cart-drawer-close{color:#9ca3af;background:none;border:none;cursor:pointer;padding:4px;transition:color .2s ease}.cart-drawer-close:hover{color:#4b5563}.cart-drawer-close svg{width:24px;height:24px}.cart-drawer-items{flex:1;overflow-y:auto;padding:24px}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.cart-empty-icon{width:96px;height:96px;color:#d1d5db;margin-bottom:16px}.cart-empty-text{color:#4b5563;font-size:18px;margin-bottom:8px}.cart-empty-subtext{color:#6b7280;font-size:14px}.cart-items-list{display:flex;flex-direction:column;gap:16px}.cart-item{display:flex;gap:16px;padding-bottom:16px;border-bottom:1px solid #E5E7EB;transition:opacity .3s ease}.cart-item.removing{opacity:.5}.cart-item-image{width:80px;height:80px;object-fit:cover;border-radius:4px}.cart-item-details{flex:1;min-width:0}.cart-item-title{font-weight:500;color:#111827;font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:color .2s ease}.cart-item-title:hover{color:var(--color-text-secondary)}.cart-item-custom-badge{font-size:12px;color:#7c3aed;margin-top:2px;font-weight:500}.cart-item-variant{font-size:12px;color:#6b7280;margin-top:4px}.cart-item-controls{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.cart-item-quantity{display:flex;align-items:center;border:1px solid #D1D5DB;border-radius:4px}.cart-item-quantity button{padding:4px 8px;font-size:14px;background:none;border:none;cursor:pointer;color:#111827;transition:opacity .2s ease}.cart-item-quantity button:disabled{opacity:.5;cursor:not-allowed}.cart-item-quantity button:hover:not(:disabled){opacity:.6}.cart-item-quantity span{padding:4px 12px;font-size:14px;border-left:1px solid #D1D5DB;border-right:1px solid #D1D5DB}.cart-item-price{font-weight:600;color:#111827;font-size:14px}.cart-item-remove{font-size:12px;color:#dc2626;background:none;border:none;cursor:pointer;margin-top:8px;padding:0;text-align:left;transition:color .2s ease}.cart-item-remove:hover:not(:disabled){color:#991b1b}.cart-item-remove:disabled{opacity:.5;cursor:not-allowed}.cart-drawer-footer{border-top:1px solid #E5E7EB;padding:24px;background-color:#f9fafb}.cart-totals{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.cart-total-row{display:flex;justify-content:space-between;align-items:center}.cart-total-row.subtotal{font-size:16px;color:#4b5563}.cart-total-row.total{font-size:20px;font-weight:700;color:#111827}.cart-total-note{font-size:12px;color:#6b7280}.cart-checkout-button{display:block;width:100%;text-align:center;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;background-color:#8b4513;color:#fff;text-decoration:none;transition:opacity .2s ease}.cart-checkout-button:hover{opacity:.9}@media (max-width: 640px){.cart-drawer{max-width:100%}.cart-drawer-header,.cart-drawer-items,.cart-drawer-footer{padding:16px}}.inbox-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background-color:#00000080;transition:opacity .3s ease}.inbox-drawer{position:fixed;top:0;right:0;height:100%;width:100%;max-width:24rem;background-color:#fff;box-shadow:0 20px 50px #0003;z-index:1200;transform:translate(100%);transition:transform .3s ease-in-out;visibility:hidden;pointer-events:none}.inbox-drawer.open{transform:translate(0);visibility:visible;pointer-events:auto}.inbox-drawer-inner{display:flex;flex-direction:column;height:100%}.inbox-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E5E7EB;background-color:#fafafa}.inbox-drawer-content{flex:1;overflow-y:auto}.inbox-message{border-bottom:1px solid #F3F4F6}.inbox-message.unread{background-color:#fef3c7}.inbox-message.expanded{background-color:#f9fafb}.inbox-message-header{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px 20px;text-align:left;background:none;border:none;cursor:pointer;transition:background-color .2s ease}.inbox-message-header:hover{background-color:#f9fafb}.inbox-message.unread .inbox-message-header{background-color:transparent}.inbox-message.unread .inbox-message-header:hover{background-color:#0000000d}.inbox-message-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:50%}.inbox-message.unread .inbox-message-icon{background-color:#fff}.inbox-message-preview{flex:1;min-width:0}.inbox-message-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#111827;line-height:1.4}.unread-dot{width:8px;height:8px;background-color:var(--color-primary, #8B4513);border-radius:50%;flex-shrink:0}.inbox-message-date{font-size:12px;color:#6b7280;margin-top:2px}.inbox-message-chevron{width:20px;height:20px;color:#9ca3af;flex-shrink:0;margin-top:2px;transition:transform .2s ease}.inbox-message-chevron.rotated{transform:rotate(180deg)}.inbox-message-body{padding:0 20px 16px 68px}.inbox-message-body p{font-size:14px;color:#4b5563;line-height:1.6;margin:0 0 12px}.inbox-message-action{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background-color:var(--color-primary, #8B4513);border-radius:6px;text-decoration:none;transition:opacity .2s ease}.inbox-message-action:hover{opacity:.9}.inbox-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:8px;background:none;border:none;cursor:pointer;color:#374151;transition:color .2s ease}.inbox-btn:hover{color:#111827}.inbox-btn svg{width:20px;height:20px}.inbox-btn .inbox-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;color:#fff;background-color:var(--color-primary, #8B4513);border-radius:8px;display:flex;align-items:center;justify-content:center}.inbox-btn.has-unread{color:var(--color-primary, #8B4513)}.inbox-btn-mobile{position:relative;display:flex;align-items:center;justify-content:center;padding:8px;background:none;border:none;cursor:pointer;color:#374151;transition:color .2s ease}.inbox-btn-mobile:hover{color:#111827}.inbox-btn-mobile svg{width:20px;height:20px}.inbox-btn-mobile.has-unread{color:var(--color-primary, #8B4513)}.inbox-message[data-priority=urgent]{border-left:3px solid #DC2626}.inbox-message[data-priority=high]{border-left:3px solid #F59E0B}@media (max-width: 640px){.inbox-drawer{max-width:100%}.inbox-drawer-header,.inbox-message-header{padding:12px 16px}.inbox-message-body{padding:0 16px 12px 56px}}.form-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-md);transition:var(--transition-base);outline:none}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-secondary)}.form-input.error{border-color:var(--color-error)}.form-input::placeholder{color:var(--color-text-light)}.form-textarea{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-md);transition:var(--transition-base);outline:none;resize:vertical;min-height:100px}.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1a}.form-textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-secondary)}.form-select{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-md);transition:var(--transition-base);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23374151' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1a}.form-select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-secondary)}.form-checkbox{width:18px;height:18px;border:2px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-base);accent-color:var(--color-accent)}.form-checkbox:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.form-checkbox:focus{outline:2px solid var(--color-accent);outline-offset:2px}.form-radio{width:18px;height:18px;border:2px solid var(--color-border);border-radius:var(--border-radius-full);cursor:pointer;transition:var(--transition-base);accent-color:var(--color-accent)}.form-radio:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.form-radio:focus{outline:2px solid var(--color-accent);outline-offset:2px}.form-range{width:100%;height:8px;border-radius:var(--border-radius-full);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;background:transparent}.form-range::-webkit-slider-runnable-track{width:100%;height:8px;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-full);cursor:pointer;border:1px solid var(--color-border)}.form-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;background-color:var(--color-accent);border:3px solid white;border-radius:var(--border-radius-full);cursor:pointer;transition:var(--transition-base);margin-top:-8px;box-shadow:0 2px 4px #0000001a}.form-range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 8px #2563eb4d}.form-range::-webkit-slider-thumb:active{transform:scale(1.1)}.form-range::-moz-range-track{width:100%;height:8px;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-full);cursor:pointer;border:1px solid var(--color-border)}.form-range::-moz-range-progress{height:8px;background-color:var(--color-accent);border-radius:var(--border-radius-full) 0 0 var(--border-radius-full);border:1px solid var(--color-accent)}.form-range::-moz-range-thumb{width:22px;height:22px;background-color:var(--color-accent);border:3px solid white;border-radius:var(--border-radius-full);cursor:pointer;transition:var(--transition-base);box-shadow:0 2px 4px #0000001a}.form-range::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 8px #2563eb4d}.form-range::-moz-range-thumb:active{transform:scale(1.1)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.form-label-required:after{content:" *";color:var(--color-error)}.form-label-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-row{display:flex;gap:var(--spacing-md);align-items:center}.form-inline{display:flex;align-items:center;gap:var(--spacing-md)}.form-help{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:var(--spacing-xs)}.form-error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--spacing-xs)}.form-success{font-size:var(--font-size-xs);color:var(--color-success);margin-top:var(--spacing-xs)}.dropzone{border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);text-align:center;cursor:pointer;background-color:var(--color-bg-primary);transition:var(--transition-base)}.dropzone:hover{border-color:var(--color-text-light);background-color:var(--color-bg-secondary)}.dropzone.active{border-color:var(--color-accent);background-color:#2563eb0d}.dropzone-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);color:var(--color-text-light)}.dropzone-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.dropzone-subtext{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.dropzone-hint{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:var(--spacing-md)}.option-buttons{display:grid;gap:var(--spacing-sm)}.option-buttons-2col{grid-template-columns:repeat(2,1fr)}.option-buttons-3col{grid-template-columns:repeat(3,1fr)}.option-buttons-4col{grid-template-columns:repeat(4,1fr)}.option-buttons-5col{grid-template-columns:repeat(5,1fr)}.option-button{padding:var(--spacing-md);background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-medium);text-align:center;cursor:pointer;transition:var(--transition-base)}.option-button:hover{border-color:var(--color-text-light)}.option-button.selected{background-color:#2563eb0d;border-color:var(--color-accent);color:var(--color-accent)}.option-button-label{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.option-button-meta{display:block;font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:var(--spacing-xs)}.option-button.selected .option-button-meta{color:var(--color-accent)}@media (max-width: 768px){.form-row{flex-direction:column}.option-buttons-3col,.option-buttons-4col,.option-buttons-5col{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.option-buttons-2col,.option-buttons-3col,.option-buttons-4col,.option-buttons-5col{grid-template-columns:1fr}}.design-panel{background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg)}.design-panel-header{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.design-panel-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.design-setting-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.design-setting-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.design-setting-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.design-slider{width:100%;height:8px;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-full);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;accent-color:var(--color-accent)}.design-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background-color:var(--color-accent);border-radius:var(--border-radius-full);cursor:pointer;transition:var(--transition-base)}.design-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-button)}.design-slider::-moz-range-thumb{width:20px;height:20px;background-color:var(--color-accent);border-radius:var(--border-radius-full);cursor:pointer;border:none;transition:var(--transition-base)}.design-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-button)}.design-slider-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.design-color-picker{display:flex;align-items:center;gap:var(--spacing-md)}.design-color-swatch{width:40px;height:40px;border-radius:var(--border-radius-md);border:2px solid var(--color-border);cursor:pointer;transition:var(--transition-base)}.design-color-swatch:hover{transform:scale(1.05);box-shadow:var(--shadow-card)}.design-steps{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap}.design-step{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);white-space:nowrap;transition:var(--transition-base)}.design-step.active{background-color:var(--color-accent);color:var(--color-bg-primary);box-shadow:var(--shadow-card)}.design-step.completed{background-color:var(--color-success);color:var(--color-bg-primary)}.design-step-icon{font-size:var(--font-size-lg)}.design-step-label{font-weight:var(--font-weight-medium)}.design-step-separator{width:16px;height:16px;color:var(--color-text-light);flex-shrink:0}.design-preview{position:relative;width:100%;aspect-ratio:1 / 1;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}.design-preview img{width:100%;height:100%;object-fit:contain}.design-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xl)}.design-preview-spinner{width:64px;height:64px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.design-preview-text{text-align:center;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.design-preview-progress{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--spacing-sm)}.checkpoint-banner{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-card)}.checkpoint-banner-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-md)}.checkpoint-banner-content{flex:1}.checkpoint-banner-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#1e3a8a;margin-bottom:var(--spacing-sm)}.checkpoint-banner-title svg{width:24px;height:24px;color:#2563eb}.checkpoint-banner-message{font-size:var(--font-size-sm);color:#1e40af;margin-bottom:var(--spacing-xs)}.checkpoint-banner-message strong{font-weight:var(--font-weight-bold)}.checkpoint-banner-detail{font-size:var(--font-size-xs);color:#1d4ed8}.checkpoint-banner-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.checkpoint-banner-dismiss{margin-left:var(--spacing-md);color:var(--color-text-light);background:none;border:none;cursor:pointer;transition:var(--transition-base)}.checkpoint-banner-dismiss:hover{color:var(--color-text-secondary)}.checkpoint-banner-dismiss svg{width:20px;height:20px}.progress-steps{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.progress-steps .design-step{flex-shrink:0}.canvas-editor-container{position:relative;width:100%}.canvas-processing-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;pointer-events:all}.canvas-processing-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.canvas-processing-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.canvas-processing-spinner-container{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.canvas-processing-progress-ring{transform:rotate(0)}.canvas-processing-progress-ring-bg{color:var(--color-border);opacity:.3}.canvas-processing-progress-ring-progress{color:var(--color-accent);transition:stroke-dashoffset .3s ease-out}.canvas-processing-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);transition:opacity .2s ease-in-out}.canvas-processing-message{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center}.canvas-processing-dots{display:flex;gap:4px;align-items:center;justify-content:center}.canvas-processing-dots span{display:inline-block;font-size:var(--font-size-2xl);color:var(--color-accent);animation:pulse-dot 1.4s infinite ease-in-out}.canvas-processing-dots span:nth-child(1){animation-delay:0s}.canvas-processing-dots span:nth-child(2){animation-delay:.2s}.canvas-processing-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse-dot{0%,80%,to{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}.image-library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.image-library-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.image-library-count{font-size:var(--font-size-sm);color:var(--color-text-light)}.image-library-dropzone{border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);text-align:center;cursor:pointer;background-color:var(--color-bg-primary);transition:var(--transition-base);margin-bottom:var(--spacing-md)}.image-library-dropzone:hover{border-color:var(--color-text-light);background-color:var(--color-bg-secondary)}.image-library-dropzone.active{border-color:var(--color-accent);background-color:#2563eb0d}.image-library-dropzone.processing{opacity:.5;cursor:wait}.image-library-dropzone-icon{width:32px;height:32px;margin:0 auto var(--spacing-sm);color:var(--color-text-light)}.image-library-dropzone.active .image-library-dropzone-icon{color:var(--color-accent)}.image-library-dropzone-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.image-library-dropzone-subtext{font-size:var(--font-size-xs);color:var(--color-text-light)}.image-library-dropzone-hint{font-size:var(--font-size-xs);color:var(--color-accent);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs)}.image-library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.image-library-item{position:relative;border:2px solid var(--color-border);border-radius:var(--border-radius-md);overflow:hidden;cursor:move;transition:var(--transition-base)}.image-library-item:hover{border-color:var(--color-text-light);box-shadow:var(--shadow-card)}.image-library-item.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px #2563eb33}.image-library-item-preview{height:100px;background-color:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-library-item-preview img{width:100%;height:100%;object-fit:contain}.image-library-item-info{padding:var(--spacing-xs);background-color:var(--color-bg-primary)}.image-library-item-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-library-item-meta{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-light)}.image-library-item-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--spacing-xs)}.image-library-item-badge{display:inline-block;padding:2px 6px;background-color:#2563eb1a;color:var(--color-accent);font-size:10px;border-radius:var(--border-radius-sm)}.image-library-item-badge-resized{background-color:#f59e0b26;color:#d97706}.image-library-item-delete{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);padding:var(--spacing-xs);background-color:#dc2626;color:#fff;border:none;border-radius:var(--border-radius-full);cursor:pointer;opacity:0;transition:var(--transition-base)}.image-library-item:hover .image-library-item-delete{opacity:1}.image-library-item-delete:hover{background-color:#b91c1c}.image-library-item-delete svg{width:14px;height:14px}.image-library-item-selected-badge{position:absolute;top:var(--spacing-xs);left:var(--spacing-xs);padding:var(--spacing-xs);background-color:var(--color-accent);color:#fff;border-radius:var(--border-radius-full)}.image-library-item-selected-badge svg{width:14px;height:14px}.image-library-item-drag{position:absolute;bottom:var(--spacing-xs);right:var(--spacing-xs);padding:4px;background-color:#000000bf;color:#fff;border-radius:var(--border-radius-sm);opacity:0;transition:var(--transition-base);pointer-events:none}.image-library-item:hover .image-library-item-drag{opacity:1}.image-library-item-drag svg{width:14px;height:14px}.image-library-empty{text-align:center;padding:var(--spacing-lg) 0;color:var(--color-text-light);font-size:var(--font-size-sm)}.image-library-processing{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.image-library-processing-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--border-radius-full);animation:spin 1s linear infinite}.image-library-processing-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.image-library-item-processing{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;pointer-events:none}.image-library-processing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#1e3a5fd9;display:flex;align-items:center;justify-content:center}.image-library-processing-icon{color:#60a5fa;animation:spin 1.5s linear infinite}.image-library-processing-badge{position:absolute;bottom:var(--spacing-sm);left:50%;transform:translate(-50%);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:9px;font-weight:600;padding:3px 8px;border-radius:var(--border-radius-sm);white-space:nowrap;box-shadow:0 2px 4px #0003}@media (max-width: 1024px){.image-library-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.design-step{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.design-step-icon{font-size:var(--font-size-base)}.design-step-separator{width:12px;height:12px}.checkpoint-banner-actions{flex-direction:column}.canvas-processing-spinner-container{width:80px;height:80px}.canvas-processing-percentage{font-size:var(--font-size-xl)}.canvas-processing-message{font-size:var(--font-size-base)}}@media (max-width: 640px){.image-library-grid{grid-template-columns:repeat(2,1fr)}.image-library-item-preview{height:80px}}.btn-danger-subtle{color:#dc2626;border-color:#fecaca;background:#fef2f2;transition:all .15s ease}.btn-danger-subtle:hover{background:#fee2e2;border-color:#fca5a5}.heightmap-status{display:flex;flex-direction:column;gap:var(--spacing-md)}.heightmap-status-header{display:flex;align-items:center;gap:var(--spacing-sm)}.heightmap-status-badge{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:inline-block}.heightmap-status-badge-pending{background-color:#fef3c7;color:#92400e}.heightmap-status-badge-processing{background-color:#dbeafe;color:#1e40af}.heightmap-status-badge-completed{background-color:#d1fae5;color:#065f46}.heightmap-status-badge-failed{background-color:#fee2e2;color:#991b1b}.heightmap-progress-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.heightmap-progress-info{display:flex;justify-content:space-between;align-items:center}.heightmap-progress-message{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.heightmap-progress-percentage{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#2563eb}.heightmap-progress-bar-container{width:100%;background-color:#e5e7eb;border-radius:9999px;height:24px;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.heightmap-progress-bar-fill{height:24px;transition:width .3s ease-out;background:linear-gradient(90deg,#2563eb,#3b82f6,#60a5fa);box-shadow:0 2px 8px #2563eb66;position:relative}.heightmap-progress-shimmer{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:heightmap-shimmer 2s infinite}@keyframes heightmap-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.heightmap-info-box{padding:var(--spacing-md);border-radius:var(--border-radius-lg);border:1px solid transparent}.heightmap-info-box-success{background-color:#d1fae5;border-color:#10b981}.heightmap-info-box-error{background-color:#fee2e2;border-color:#ef4444}.heightmap-info-box-submitting{background-color:#dbeafe;border-color:#3b82f6}.heightmap-info-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.heightmap-info-box-success .heightmap-info-title{color:#065f46}.heightmap-info-box-error .heightmap-info-title{color:#991b1b}.heightmap-info-box-submitting .heightmap-info-title{color:#1e40af}.heightmap-info-message{font-size:var(--font-size-sm)}.heightmap-info-box-success .heightmap-info-message{color:#047857}.heightmap-info-box-error .heightmap-info-message{color:#dc2626}.heightmap-info-box-submitting .heightmap-info-message{color:#1e40af}.heightmap-debug{font-size:var(--font-size-xs);color:#9ca3af}.heightmap-debug summary{cursor:pointer;transition:var(--transition-fast)}.heightmap-debug summary:hover{color:#6b7280}.heightmap-debug pre{margin-top:var(--spacing-xs);padding:var(--spacing-sm);background-color:#f9fafb;border-radius:var(--border-radius-md);overflow:auto;font-size:var(--font-size-xs);color:#374151}@media (max-width: 768px){.heightmap-progress-bar-container,.heightmap-progress-bar-fill{height:20px}}.product-detail{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}@media (max-width: 640px){.product-detail{padding:var(--spacing-lg) var(--spacing-md)}}.product-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-3xl);margin-bottom:var(--spacing-2xl)}@media (max-width: 1024px){.product-detail-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}}.product-images{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-image-main{position:relative;aspect-ratio:1 / 1;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-md);overflow:hidden}.product-image-main img{width:100%;height:100%;object-fit:cover}.product-image-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-sm)}.product-image-thumbnail{aspect-ratio:1 / 1;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;transition:var(--transition-fast);border:2px solid transparent}.product-image-thumbnail:hover{border-color:var(--color-border)}.product-image-thumbnail.active{border-color:var(--color-text-primary)}.product-image-thumbnail img{width:100%;height:100%;object-fit:cover}.product-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.product-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2;margin-bottom:var(--spacing-sm)}@media (max-width: 640px){.product-title{font-size:var(--font-size-3xl)}}.product-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.product-price-section{display:flex;align-items:baseline;gap:var(--spacing-md);padding:var(--spacing-lg) 0}.product-price{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.product-price-original{font-size:var(--font-size-2xl);color:var(--color-text-light);text-decoration:line-through}.product-description{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) 0}.product-description p{color:var(--color-text-secondary);line-height:1.6;font-size:var(--font-size-base)}.product-features{display:flex;flex-direction:column;gap:var(--spacing-md)}.product-features-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.product-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-features-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.5}.product-features-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px;color:var(--color-success)}.product-actions{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-lg)}.product-actions .btn{width:100%;font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-xl)}.product-actions-secondary{display:flex;gap:var(--spacing-sm);justify-content:center}.product-back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-fast);margin-top:var(--spacing-lg)}.product-back-link:hover{opacity:.6}.product-back-link svg{width:16px;height:16px}.variant-selectors{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.variant-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.variant-selector-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.variant-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.variant-option-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg-primary);cursor:pointer;transition:var(--transition-fast);font-size:var(--font-size-sm);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.variant-option-btn:hover{border-color:var(--color-text-secondary)}.variant-option-btn.selected{border-color:var(--color-text-primary);background-color:var(--color-text-primary);color:var(--color-bg-primary)}.color-options{gap:var(--spacing-md)}.variant-color-btn{position:relative;width:36px;height:36px;border:2px solid var(--color-border);border-radius:50%;cursor:pointer;transition:var(--transition-fast);padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs)}.variant-color-btn:hover{border-color:var(--color-text-secondary);transform:scale(1.1)}.variant-color-btn.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-bg-primary),0 0 0 4px var(--color-text-primary)}.variant-color-btn .color-check{width:16px;height:16px;color:var(--color-text-primary);filter:drop-shadow(0 1px 1px rgba(255,255,255,.8))}.color-name{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.btn.out-of-stock{background-color:var(--color-text-light);border-color:var(--color-text-light);color:var(--color-bg-primary)}.product-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.product-title-row .product-title{flex:1;margin-bottom:0}@media (max-width: 640px){.product-price{font-size:var(--font-size-3xl)}.product-price-original{font-size:var(--font-size-xl)}}.product-carousel{display:flex;flex-direction:column;gap:var(--spacing-md);outline:none}.product-carousel:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--border-radius-md)}.product-carousel-main{position:relative;aspect-ratio:1 / 1;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-md);overflow:hidden}.product-carousel-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.product-carousel-placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:var(--font-size-sm)}.product-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);opacity:0;z-index:2}.product-carousel-main:hover .product-carousel-nav{opacity:1}.product-carousel-nav:hover{background:#fff;box-shadow:0 2px 8px #00000026}.product-carousel-nav-prev{left:var(--spacing-md)}.product-carousel-nav-next{right:var(--spacing-md)}.product-carousel-nav svg{color:var(--color-text-primary)}.product-carousel-thumbnails{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding:var(--spacing-xs) 0;scrollbar-width:thin}.product-carousel-thumbnail{flex-shrink:0;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;transition:var(--transition-fast);background:var(--color-bg-secondary)}.product-carousel-thumbnail:hover{border-color:var(--color-border)}.product-carousel-thumbnail-active{border-color:var(--color-text-primary)}.product-carousel-thumbnail img{width:100%;height:100%;object-fit:cover}.product-carousel-counter{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-light)}@media (max-width: 640px){.product-carousel-nav{width:32px;height:32px;opacity:1}.product-carousel-nav-prev{left:var(--spacing-sm)}.product-carousel-nav-next{right:var(--spacing-sm)}.product-carousel-thumbnail{width:56px;height:56px}}.product-listing{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}@media (max-width: 640px){.product-listing{padding:var(--spacing-lg) var(--spacing-md)}}.product-listing-header{text-align:center;margin-bottom:var(--spacing-3xl);max-width:800px;margin-left:auto;margin-right:auto}.product-listing-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);line-height:1.2}@media (max-width: 640px){.product-listing-title{font-size:var(--font-size-3xl)}}.product-listing-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.6;max-width:600px;margin:0 auto}.product-listing-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light)}@media (max-width: 768px){.product-listing-toolbar{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.product-listing-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.product-listing-sort{display:flex;align-items:center;gap:var(--spacing-sm)}.product-listing-sort-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.product-listing-sort-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--color-text-primary);background-color:var(--color-bg-primary);cursor:pointer;transition:var(--transition-fast)}.product-listing-sort-select:hover{border-color:var(--color-text-secondary)}.product-listing-sort-select:focus{outline:2px solid var(--color-text-primary);outline-offset:2px}.product-listing-layout{display:grid;grid-template-columns:250px 1fr;gap:var(--spacing-2xl)}@media (max-width: 1024px){.product-listing-layout{grid-template-columns:1fr}}.product-listing-filters{display:flex;flex-direction:column;gap:var(--spacing-xl)}@media (max-width: 1024px){.product-listing-filters{display:none}.product-listing-filters.mobile-open{display:flex;position:fixed;top:0;left:0;bottom:0;width:300px;background:var(--color-bg-primary);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);z-index:var(--z-index-modal);overflow-y:auto}}.product-listing-filters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.product-listing-filters-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.product-listing-filter-group{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.product-listing-filter-group:last-child{border-bottom:none}.product-listing-filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.product-listing-content{flex:1}.product-listing-empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.product-listing-empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.product-listing-empty-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.product-listing.loading{opacity:.6;pointer-events:none}.product-listing-pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-3xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.product-listing-pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-primary);cursor:pointer;transition:var(--transition-fast)}.product-listing-pagination-btn:hover:not(:disabled){border-color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.product-listing-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.product-listing-pagination-btn.active{background-color:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.product-listing-view-toggle{display:flex;gap:var(--spacing-xs)}.product-listing-view-btn{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.product-listing-view-btn:hover{color:var(--color-text-primary);border-color:var(--color-text-primary)}.product-listing-view-btn.active{background-color:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.product-listing-view-btn svg{width:18px;height:18px}.design-studio{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.design-studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.design-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.design-header-content{text-align:center;flex:1}.design-header-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.design-header-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.design-credits-container{display:flex;gap:var(--spacing-sm, 8px);align-items:flex-start}.design-credit-indicator{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary, #f5f5f5);border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #e0e0e0);min-width:100px}.design-store-credit{background-color:#f0fdf4;border-color:#86efac}.design-store-credit .design-credit-icon,.design-store-credit .design-credit-amount{color:#16a34a}.design-credit-balance{display:flex;align-items:center;gap:var(--spacing-xs)}.design-credit-icon{width:18px;height:18px;color:var(--color-primary, #6366f1)}.design-credit-amount{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #1a1a1a)}.design-credit-label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #666)}.design-credit-buy-link{font-size:var(--font-size-xs, .75rem);color:var(--color-primary, #6366f1);text-decoration:none;font-weight:var(--font-weight-medium, 500)}.design-credit-buy-link:hover{text-decoration:underline}@media (max-width: 768px){.design-header{flex-direction:column;align-items:center}.design-credits-container{justify-content:center}.design-credit-indicator{align-items:center;min-width:auto}}.design-settings-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.design-settings-header{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.design-settings-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.design-preview-panel{position:sticky;top:96px;height:fit-content}.design-preview-header{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.design-preview-container{background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);overflow:hidden}.design-preview-container:has(.design-preview-3d),.design-preview-container:has(.design-preview-canvas-container){padding:0}.design-preview-canvas-container{width:100%;height:700px;position:relative;display:flex;align-items:center;justify-content:center;background-color:#5a5a5a}.design-preview-empty{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg)}.design-preview-empty-icon{width:96px;height:96px;color:var(--color-text-light);margin:0 auto var(--spacing-md)}.design-preview-empty-text{text-align:center;color:var(--color-text-light)}.design-preview-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-light)}.design-preview-3d{height:700px;border-radius:var(--border-radius-lg);overflow:hidden}.design-preview-image-container{padding:var(--spacing-xl)}.design-preview-template-overlay{background-color:#2a2a2a;padding:var(--spacing-xl);display:flex;align-items:center;justify-content:center;min-height:500px}.design-preview-image-wrapper{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-lg);overflow:hidden}.design-preview-image{width:100%;height:100%;object-fit:contain}.design-preview-caption{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.design-nav-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.design-nav-buttons .btn{flex:1}.design-info-box{padding:var(--spacing-md);border-radius:var(--border-radius-lg);margin-top:var(--spacing-md)}.design-info-box-blue{background-color:#2563eb0d;border:1px solid rgba(37,99,235,.2)}.design-info-box-green{background-color:#22c55e0d;border:1px solid rgba(34,197,94,.2)}.design-info-box-yellow{background-color:#f59e0b0d;border:1px solid rgba(245,158,11,.2)}.design-info-box-title{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.design-info-box-blue .design-info-box-title{color:#1e3a8a}.design-info-box-green .design-info-box-title{color:#14532d}.design-info-box-yellow .design-info-box-title{color:#78350f}.design-info-box-content{font-size:var(--font-size-sm)}.design-info-box-blue .design-info-box-content{color:#1e40af}.design-info-box-green .design-info-box-content{color:#15803d}.design-info-box-yellow .design-info-box-content{color:#92400e}.design-info-box-list{list-style:none;padding:0;margin:0}.design-info-box-list li{margin-bottom:var(--spacing-xs)}.design-pricing-box{padding:var(--spacing-md);background-color:#2563eb0d;border:1px solid rgba(37,99,235,.2);border-radius:var(--border-radius-lg);margin-top:var(--spacing-lg)}.design-pricing-title{font-weight:var(--font-weight-bold);color:#1e3a8a;margin-bottom:var(--spacing-sm)}.design-pricing-amount{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:#1e3a8a}.design-pricing-note{font-size:var(--font-size-xs);color:#2563eb;margin-top:var(--spacing-xs)}.design-pricing-breakdown{margin-top:var(--spacing-sm)}.design-pricing-breakdown summary{font-size:var(--font-size-sm);color:#1e40af;cursor:pointer;transition:var(--transition-base)}.design-pricing-breakdown summary:hover{text-decoration:underline}.design-pricing-breakdown pre{font-size:var(--font-size-xs);color:#1e40af;margin-top:var(--spacing-sm);white-space:pre-wrap;font-family:var(--font-family-primary)}.composite-preview{margin-bottom:var(--spacing-lg)}.composite-preview-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.composite-preview-container{border:2px solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden;background-color:var(--color-bg-primary)}.composite-preview-image{width:100%;height:auto;max-height:300px;object-fit:contain}.design-success-box{padding:var(--spacing-md);background-color:#22c55e0d;border:1px solid rgba(34,197,94,.2);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg)}.design-success-title{font-weight:var(--font-weight-semibold);color:#14532d;margin-bottom:var(--spacing-sm)}.design-success-message{font-size:var(--font-size-sm);color:#15803d}@media (max-width: 1024px){.design-studio-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.design-preview-panel{position:static}.design-preview-3d,.design-preview-canvas-container{height:550px}}@media (max-width: 768px){.design-studio{padding:var(--spacing-md)}.design-header-title{font-size:var(--font-size-3xl)}.design-nav-buttons{flex-direction:column}.design-nav-buttons .btn{width:100%}}.auth-page{min-height:calc(100vh - var(--header-total-height));display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);background-color:var(--color-bg-primary)}.auth-container{max-width:480px;width:100%}.auth-header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-family:var(--font-primary)}.auth-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6}.auth-description-email{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.auth-tabs{display:flex;margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border)}.auth-tab{flex:1;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:var(--transition-fast)}.auth-tab:hover{color:var(--color-text-primary)}.auth-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media (max-width: 480px){.auth-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.auth-card{background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.auth-form-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-md);transition:var(--transition-base);outline:none}.auth-form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #1e25251a}.auth-form-input::placeholder{color:var(--color-text-light)}.auth-form-input-otp{text-align:center;font-size:var(--font-size-2xl);letter-spacing:.25em;font-family:Courier New,monospace;font-weight:var(--font-weight-medium)}.auth-form-hint{font-size:var(--font-size-xs);color:var(--color-text-light);text-align:center;margin-top:var(--spacing-xs)}.auth-button{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--color-bg-primary);background-color:var(--color-accent);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:var(--transition-base);text-align:center}.auth-button:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-button)}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.auth-alert-error{background-color:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error-text)}.auth-alert-success{background-color:#27ae601a;border:1px solid var(--color-success);color:var(--color-success)}.auth-info{margin-top:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-link{color:var(--color-accent);text-decoration:underline;font-weight:var(--font-weight-medium);transition:var(--transition-fast)}.auth-link:hover{opacity:.8}.auth-footer-text{margin-top:var(--spacing-lg);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-light);line-height:1.6}.auth-back-link{display:block;margin-top:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-light);text-decoration:none;transition:var(--transition-fast)}.auth-back-link:hover{color:var(--color-text-secondary)}.auth-checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;line-height:1.5}.auth-checkbox{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.auth-checkbox-label span{-webkit-user-select:none;user-select:none}.auth-checkbox-label .auth-link{font-size:inherit}@media (max-width: 768px){.auth-page{padding:var(--spacing-xl) var(--spacing-md)}.auth-title{font-size:var(--font-size-2xl)}.auth-card{padding:var(--spacing-xl)}}@media (max-width: 480px){.auth-page{padding:var(--spacing-lg) var(--spacing-md)}.auth-title{font-size:var(--font-size-xl)}.auth-card{padding:var(--spacing-lg)}}.account-page{min-height:calc(100vh - var(--header-total-height));background-color:var(--color-bg-secondary);padding:var(--spacing-2xl) 0}.account-container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.account-container-narrow{max-width:768px;margin:0 auto;padding:0 var(--spacing-lg)}.account-container-wide{max-width:1440px;margin:0 auto;padding:0 var(--spacing-lg)}.account-page-header{margin-bottom:var(--spacing-2xl)}.account-back-link{display:inline-flex;align-items:center;color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-md);transition:var(--transition-fast);text-decoration:none}.account-back-link:hover{color:var(--color-text-primary)}.account-back-link svg{width:20px;height:20px;margin-right:var(--spacing-sm)}.account-page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-family:var(--font-primary)}.account-page-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6}.account-card{background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm)}.account-card-section{padding:var(--spacing-xl) 0;border-top:1px solid var(--color-border)}.account-card-section:first-child{padding-top:0;border-top:none}.account-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.account-quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.account-quick-link{display:block;background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);text-decoration:none;transition:var(--transition-base)}.account-quick-link:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card)}.account-quick-link-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.account-quick-link-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.account-info-grid{background-color:var(--color-bg-secondary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.account-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.account-info-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.account-info-value{font-size:var(--font-size-base);color:var(--color-text-primary)}.account-status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) 10px;border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.account-status-badge svg{width:20px;height:20px;margin-right:var(--spacing-sm)}.account-status-verified{background-color:#27ae601a;color:#27ae60}.account-status-pending{background-color:#f39c121a;color:#f39c12}.badge-yellow{background-color:#fef3c7;color:#92400e}.badge-green{background-color:#d1fae5;color:#065f46}.badge-blue{background-color:#dbeafe;color:#1e40af}.badge-purple{background-color:#ede9fe;color:#5b21b6}.badge-red{background-color:#fee2e2;color:#991b1b}.badge-gray{background-color:#f3f4f6;color:#374151}.account-alert{padding:var(--spacing-md);border-radius:var(--border-radius-lg);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);display:flex;align-items:center}.account-alert svg{width:20px;height:20px;margin-right:var(--spacing-sm);flex-shrink:0}.account-alert-success{background-color:#27ae601a;border:1px solid var(--color-success);color:#27ae60}.account-alert-error{background-color:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error-text)}.account-alert-text{font-weight:var(--font-weight-medium)}.account-alert-link{text-decoration:underline;font-weight:var(--font-weight-bold);margin-left:var(--spacing-xs)}.account-form{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.account-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.account-form-grid-full{grid-column:1 / -1}.account-form-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.account-form-actions{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.account-checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.account-checkbox-label{display:flex;align-items:flex-start;cursor:pointer}.account-checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;border:2px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-base);accent-color:var(--color-accent)}.account-checkbox-label input[type=checkbox]:focus{outline:2px solid var(--color-accent);outline-offset:2px}.account-checkbox-text{margin-left:var(--spacing-md);flex:1}.account-checkbox-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:block;margin-bottom:2px}.account-checkbox-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:block}.btn-account-primary{padding:12px var(--spacing-lg);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-bold);background-color:#2563eb;color:#fff;border:none;cursor:pointer;transition:var(--transition-base);font-size:var(--font-size-base)}.btn-account-primary:hover:not(:disabled){opacity:.9}.btn-account-primary:disabled{opacity:.5;cursor:not-allowed}.btn-account-secondary{padding:12px var(--spacing-lg);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-medium);background-color:transparent;color:var(--color-text-primary);border:none;cursor:pointer;transition:var(--transition-fast);font-size:var(--font-size-base)}.btn-account-secondary:hover{color:var(--color-text-secondary)}.btn-account-outline{padding:12px var(--spacing-lg);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-bold);background-color:var(--color-bg-primary);color:var(--color-text-primary);border:2px solid var(--color-border);cursor:pointer;transition:var(--transition-base);font-size:var(--font-size-base);text-decoration:none;display:inline-block;text-align:center}.btn-account-outline:hover{border-color:var(--color-text-light)}.btn-account-danger{padding:12px var(--spacing-lg);border-radius:var(--border-radius-lg);font-weight:var(--font-weight-bold);background-color:var(--color-bg-primary);color:#dc2626;border:2px solid #FECACA;cursor:pointer;transition:var(--transition-base);font-size:var(--font-size-base)}.btn-account-danger:hover:not(:disabled){border-color:#dc2626}.btn-account-danger:disabled{opacity:.5;cursor:not-allowed}.account-orders-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.account-order-card{background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden;transition:var(--transition-base)}.account-order-card:hover{box-shadow:var(--shadow-card-hover)}.account-order-header{padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.account-order-header-info{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.account-order-header-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.account-order-header-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.account-order-header-value{font-size:var(--font-size-base);color:var(--color-text-primary)}.account-order-header-number{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.account-order-header-badges{display:flex;align-items:center;gap:var(--spacing-sm)}.account-order-body{padding:var(--spacing-lg)}.account-order-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.account-order-item{display:flex;align-items:center;gap:var(--spacing-md)}.account-order-item-image{width:64px;height:64px;object-fit:cover;border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.account-order-item-details{flex:1}.account-order-item-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.account-order-item-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.account-order-shipping{padding:var(--spacing-lg);background-color:#dbeafe;border-top:1px solid #93C5FD;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.account-order-shipping svg{width:20px;height:20px;color:#1e40af;flex-shrink:0}.account-order-shipping-text{flex:1;color:#1e3a8a}.account-order-shipping-date{font-weight:var(--font-weight-medium);color:#1e3a8a}.account-order-shipping-tracking{color:#1e3a8a}.account-order-shipping-number{font-family:Courier New,monospace;font-weight:var(--font-weight-medium)}.account-order-footer{padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.account-order-footer-links{display:flex;gap:var(--spacing-md)}.account-order-link{font-size:var(--font-size-sm);color:var(--color-accent);text-decoration:underline;font-weight:var(--font-weight-medium);transition:var(--transition-fast)}.account-order-link:hover{opacity:.8}.account-order-track-link{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:#2563eb;text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-fast)}.account-order-track-link:hover{color:#1d4ed8}.account-order-track-link svg{width:16px;height:16px;margin-left:var(--spacing-xs)}.account-designs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.account-design-card{background-color:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden;transition:var(--transition-base)}.account-design-card:hover{box-shadow:var(--shadow-card-hover)}.account-design-card.deleting{opacity:.5}.account-design-preview{aspect-ratio:1 / 1;background-color:var(--color-bg-secondary);overflow:hidden}.account-design-preview img{width:100%;height:100%;object-fit:cover}.account-design-info{padding:var(--spacing-md)}.account-design-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-design-specs{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.account-design-specs p{margin:0}.account-design-spec-label{font-weight:var(--font-weight-medium)}.account-design-price{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.account-design-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.account-design-actions-row{display:flex;gap:var(--spacing-sm)}.account-design-actions-row>*{flex:1}.account-design-timestamp{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:var(--spacing-md)}.account-empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.account-empty-icon{width:96px;height:96px;margin:0 auto var(--spacing-lg);color:var(--color-text-light)}.account-empty-icon-circle{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:var(--border-radius-round);background-color:var(--color-bg-secondary);margin:0 auto var(--spacing-lg)}.account-empty-icon-circle svg{width:48px;height:48px;color:var(--color-text-light)}.account-empty-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.account-empty-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.account-empty-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.account-profile-image-section{display:flex;align-items:center;gap:var(--spacing-md)}.account-profile-avatar{width:80px;height:80px;border-radius:var(--border-radius-round);background-color:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.account-profile-image-actions{display:flex;flex-direction:column;gap:var(--spacing-xs)}.account-profile-image-note{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 1024px){.account-designs-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.account-page{padding:var(--spacing-xl) 0}.account-card{padding:var(--spacing-xl)}.account-quick-links,.account-form-grid{grid-template-columns:1fr}.account-order-header{flex-direction:column;align-items:flex-start}.account-order-header-info{width:100%}.account-order-footer{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.account-designs-grid{grid-template-columns:1fr}.account-form-actions{flex-direction:column-reverse;gap:var(--spacing-md)}.account-form-actions>*{width:100%;text-align:center}}@media (max-width: 640px){.account-container,.account-container-narrow,.account-container-wide{padding:0 var(--spacing-md)}.account-page-title{font-size:var(--font-size-2xl)}.account-card{padding:var(--spacing-lg)}.account-order-header-info{flex-direction:column;gap:var(--spacing-md)}}.deferred-image{opacity:0;transition:opacity .3s ease-in-out}.deferred-image.loaded{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.fade-in{animation:fadeIn var(--transition-base)}.fade-out{animation:fadeOut var(--transition-base)}.slide-in-left{animation:slideInLeft var(--transition-base)}.slide-in-right{animation:slideInRight var(--transition-base)}.transition-fast{transition:var(--transition-fast)}.transition-base{transition:var(--transition-base)}.transition-slow{transition:var(--transition-slow)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-bg{0%,to{background-color:#1e40af0d}50%{background-color:#1e40af1f}}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.container-main{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg)}.container-narrow{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.container-wide{max-width:1600px;margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 640px){.container-main,.container-narrow,.container-wide{padding:0 var(--spacing-md)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-start{display:flex;justify-content:flex-start;align-items:center}.flex-end{display:flex;justify-content:flex-end;align-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.gap-3xl{gap:var(--spacing-3xl)}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-full{top:100%}.left-0{left:0}.right-0{right:0}.inset-0{top:0;right:0;bottom:0;left:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.w-full{width:100%}.h-full{height:100%}.w-5{width:20px}.h-5{height:20px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.m-0{margin:0}.m-auto{margin:auto}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mt-3xl{margin-top:var(--spacing-3xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.-ml-1{margin-left:-4px}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.mr-2{margin-right:8px}.mr-3{margin-right:12px}.mt-2{margin-top:8px}.mx-auto{margin-left:auto;margin-right:auto}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-2{padding:8px}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.py-2xl{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.py-3xl{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.space-x-xs>*+*{margin-left:var(--spacing-xs)}.space-x-sm>*+*{margin-left:var(--spacing-sm)}.space-x-md>*+*{margin-left:var(--spacing-md)}.space-x-lg>*+*{margin-left:var(--spacing-lg)}.space-y-xs>*+*{margin-top:var(--spacing-xs)}.space-y-sm>*+*{margin-top:var(--spacing-sm)}.space-y-md>*+*{margin-top:var(--spacing-md)}.space-y-lg>*+*{margin-top:var(--spacing-lg)}.space-y-xl>*+*{margin-top:var(--spacing-xl)}.text-white{color:#fff}.text-red-600{color:#dc2626}.text-red-800{color:#991b1b}.bg-red-50{background-color:#fef2f2}.border-red-200{border-color:#fecaca}.border{border-width:1px;border-style:solid}.rounded{border-radius:4px}.rounded-lg{border-radius:8px}.text-xs{font-size:12px}.text-sm{font-size:14px}
