*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #B20E24;--color-primary-hover: #AA192D;--color-primary-light: rgba(178, 14, 36, .5);--color-primary-subtle: rgba(178, 14, 36, .04);--color-text-primary: #212121;--color-text-secondary: #555555;--color-text-disabled: #999999;--color-text-link: #3D6881;--color-bg-white: #FFFFFF;--color-bg-beige: #F9F4EE;--color-bg-grey-light: #EFF3F6;--color-bg-grey-hover: #F4F4F4;--color-bg-dark: #424242;--color-bg-black: #212121;--color-border: rgb(224, 224, 224);--color-border-form: rgba(0, 0, 0, .23);--font-family: "Montserrat", system-ui, -apple-system, sans-serif;--font-size-base: 15px;--font-size-sm: 13px;--font-size-xs: 12px;--font-size-h1: 32px;--font-size-h3: 17px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 40px;--spacing-3xl: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 32px;--radius-full: 50%;--shadow-header: rgba(0,0,0,.08) 0px 1px 4px 0px;--shadow-card: rgba(0,0,0,.2) 0px 3px 3px -2px, rgba(0,0,0,.14) 0px 3px 4px 0px, rgba(0,0,0,.12) 0px 1px 8px 0px;--shadow-fab: rgba(0,0,0,.2) 0px 4px 12px 0px;--container-max-width: 1024px;--header-height: 60px;--bottom-nav-height: 64px}html{font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-beige);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-family);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-md);border:none;cursor:pointer;min-height:44px;padding:8px 24px;font-size:var(--font-size-base);transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outlined{background:transparent;color:var(--color-primary);border:.8px solid var(--color-primary-light);font-size:14px}.btn-outlined:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-subtle)}.btn-ghost{background:transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);padding:8px 12px;min-height:36px}.btn-ghost:hover:not(:disabled){background:var(--color-bg-grey-hover)}.btn-dark{background:var(--color-bg-black);color:#fff;text-transform:none;font-size:14px}.btn-dark:hover:not(:disabled){background:#333}.btn:disabled{background:#0000001f;color:#00000042;cursor:not-allowed;border-color:transparent}.btn-sm{min-height:36px;padding:6px 16px;font-size:var(--font-size-sm)}.card{background:var(--color-bg-white);border-radius:var(--radius-md);border:.8px solid var(--color-border);padding:var(--spacing-md)}.card-elevated{background:var(--color-bg-white);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.card-large{background:var(--color-bg-white);border-radius:var(--radius-lg);border:.8px solid var(--color-border);padding:var(--spacing-xl)}.card-beige{background:var(--color-bg-beige);border-radius:var(--radius-md);border:.8px solid var(--color-border);padding:var(--spacing-md)}.field-group{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.field-input{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-primary);border:1px solid var(--color-border-form);border-radius:var(--radius-md);padding:10px 14px;outline:none;background:var(--color-bg-white);transition:border-color .2s;width:100%}.field-input::placeholder{color:var(--color-text-disabled)}.field-input:hover{border-color:var(--color-text-primary)}.field-input:focus{border:2px solid var(--color-primary)}.field-input.error{border-color:var(--color-primary)}.pill-option{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-bg-white);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);cursor:pointer;transition:border-color .3s,background .3s,color .3s;white-space:nowrap}.pill-option:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.pill-option.active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);height:24px;padding:0 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;background:var(--color-bg-grey-light);color:var(--color-text-primary)}.progress-track{background:var(--color-border);border-radius:var(--radius-xl);height:8px;overflow:hidden;width:100%}.progress-bar{height:100%;border-radius:var(--radius-xl);background:var(--color-primary);transition:width .4s ease}.progress-bar.animated{background:var(--color-primary);animation:progressPulse 1.4s ease-in-out infinite}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-md) 0}.section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progressPulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.fade-in{animation:fadeIn .35s ease both}.fade-in-scale{animation:fadeInScale .4s ease both}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1.4s linear infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);animation:fadeIn .2s ease}.modal-box{background:var(--color-bg-white);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:var(--spacing-xl);animation:fadeInScale .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.modal-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);cursor:pointer;transition:border-color .25s,background .25s;text-align:center;padding:var(--spacing-3xl) var(--spacing-xl)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary);background:#b20e2408}.upload-zone.drag-over{border-style:solid}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;flex-shrink:0}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.compare-container{position:relative;overflow:hidden;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;touch-action:none}.compare-container img{display:block;width:100%;height:100%;object-fit:cover}.compare-slider-handle{position:absolute;top:0;bottom:0;width:3px;background:#fff;cursor:ew-resize;transform:translate(-50%);z-index:10}.compare-slider-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000004d}.compare-slider-handle:after{content:"◀ ▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;color:var(--color-primary);white-space:nowrap;z-index:1;line-height:1}.watermark{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#0000008c;color:#ffffffd9;font-family:var(--font-family);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.06em;padding:4px 12px;border-radius:4px;white-space:nowrap;pointer-events:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}select.field-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--color-bg-black);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);z-index:9999;animation:fadeIn .3s ease;white-space:nowrap;max-width:90vw;text-align:center}.toast.error{background:var(--color-primary)}@media(max-width:767px){.container{padding:0 var(--spacing-md)}.hide-mobile{display:none!important}body{padding-bottom:var(--bottom-nav-height)}}@media(min-width:768px){.hide-desktop{display:none!important}}
