.header{background-color:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 1px 2px 0 #0000000d;height:60px;left:0;position:relative;right:0;top:0;z-index:1030}.header,.header__content{align-items:center;display:flex}.header__content{height:100%;justify-content:space-between;padding:0 1rem;width:100%}@media(max-width:575px){.header__content{padding:0 .5rem}}.header__logo{align-items:center;color:#ff6b6b;display:flex;font-weight:700;gap:.25rem;height:100%;justify-content:center;text-decoration:none;transition:all .15s ease-in-out}.header__logo:hover{color:#ff4757;transform:scale(1.05)}.header__logo-icon{align-items:center;display:flex;height:35px;justify-content:center;object-fit:contain;width:35px}.header__logo-text{align-items:center;display:flex;font-size:1.25rem}@media(max-width:575px){.header__logo-text{display:none}}.header__title{align-items:center;color:#212529;display:flex;font-size:1.125rem;font-weight:600;height:100%;left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap}@media(max-width:575px){.header__title{font-size:1rem}}.header__actions{gap:.5rem;height:100%}.header__actions,.header__gallery-btn{align-items:center;display:flex;justify-content:center}.header__gallery-btn{background-color:#f8f9fa;border-radius:.5rem;flex-direction:column;height:40px;position:relative;text-decoration:none;transition:all .15s ease-in-out;width:40px}.header__gallery-btn:hover{background-color:#e9ecef;transform:scale(1.1)}.header__gallery-btn-icon{align-items:center;display:flex;font-size:1.25rem;justify-content:center}.header__gallery-label{color:#888;display:block;font-size:12px;font-weight:500;letter-spacing:-1px;line-height:1;margin-top:2px;text-align:center}.navigation{background-color:#fff;border-top:1px solid #e9ecef;bottom:0;box-shadow:0 -2px 10px #0000001a;height:70px;left:0;position:fixed;right:0;z-index:1030}.navigation__container{display:grid;grid-template-columns:repeat(4,1fr);height:100%;margin:0 auto;max-width:1200px}.navigation__item{align-items:center;color:#6c757d;display:flex;flex-direction:column;gap:.25rem;justify-content:center;padding:.25rem;position:relative;text-decoration:none;transition:all .15s ease-in-out}.navigation__item:hover{background-color:#ff6b6b0d;color:#ff6b6b}.navigation__item--active{color:#ff6b6b}.navigation__item--active:before{background-color:#ff6b6b;border-radius:0 0 .25rem .25rem;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:24px}.navigation__item--active .navigation__icon{transform:scale(1.1)}.navigation__icon{height:24px;object-fit:contain;transition:transform .15s ease-in-out;width:24px}@media(max-width:575px){.navigation__icon{height:20px;width:20px}}.navigation__label{font-size:.75rem;font-weight:500;text-align:center}@media(max-width:575px){.navigation__label{font-size:10px}}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center}.loading-spinner--overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#ffffffe6;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.loading-spinner__spinner{animation:spin 1s linear infinite;border-radius:50%}.loading-spinner--small .loading-spinner__spinner{animation:spin 1s linear infinite;border:3px solid #ff6b6b33;border-left-color:#ff6b6b;border-radius:50%;height:24px;width:24px}.loading-spinner--medium .loading-spinner__spinner{animation:spin 1s linear infinite;border:4px solid #ff6b6b33;border-left-color:#ff6b6b;border-radius:50%;height:40px;width:40px}.loading-spinner--large .loading-spinner__spinner{animation:spin 1s linear infinite;border:6px solid #ff6b6b33;border-left-color:#ff6b6b;border-radius:50%;height:60px;width:60px}.loading-spinner--primary .loading-spinner__spinner{border-color:#ff6b6b33 #ff6b6b33 #ff6b6b33 #ff6b6b}.loading-spinner--secondary .loading-spinner__spinner{border-color:#4ecdc433 #4ecdc433 #4ecdc433 #4ecdc4}.loading-spinner--white .loading-spinner__spinner{border-color:#fff3 #fff3 #fff3 #fff}.loading-spinner__text{color:#6c757d;font-size:.875rem;font-weight:500;margin:0;text-align:center}.loading-pulse{animation:pulse 1.5s ease-in-out infinite;background-color:#ff6b6b;border-radius:50%;display:inline-block;height:40px;width:40px}.loading-dots{display:inline-flex;gap:.25rem}.loading-dots__dot{animation:dotPulse 1.4s ease-in-out infinite both;background-color:#ff6b6b;border-radius:50%;height:8px;width:8px}.loading-dots__dot:first-child{animation-delay:-.32s}.loading-dots__dot:nth-child(2){animation-delay:-.16s}.loading-dots__dot:nth-child(3){animation-delay:0}@keyframes dotPulse{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.home{background:linear-gradient(135deg,#ff6b6b0d,#4ecdc40d);min-height:100vh;padding-top:60px}.home__hero{align-items:center;display:flex;gap:2rem;justify-content:space-between;min-height:400px;padding:4rem 0}@media(max-width:575px){.home__hero{display:flex;flex-direction:column;gap:1.5rem;padding:2rem 0;text-align:center}}.home__hero-content{flex:1 1;max-width:500px}.home__hero-title{color:#212529;font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem}@media(max-width:575px){.home__hero-title{font-size:1.875rem}}.home__hero-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);-webkit-background-clip:text;background-clip:text;color:#ff6b6b}.home__hero-description{color:#6c757d;font-size:1.125rem;line-height:1.75;margin-bottom:1.5rem}@media(max-width:575px){.home__hero-description{font-size:1rem}}.home__hero-illustration{align-items:center;display:flex;flex:1 1;justify-content:center;max-width:300px}.home__hero-stamp{animation:float 3s ease-in-out infinite;display:block;filter:drop-shadow(0 4px 8px rgba(255,107,107,.15));height:100px;object-fit:contain;width:100px}@media(max-width:575px){.home__hero-stamp{height:70px;width:70px}}.home__stats{grid-gap:1.5rem;border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:2rem 0;padding:2rem 0}.home__stat{text-align:center}.home__stat-value{color:#ff6b6b;font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.home__stat-label{color:#6c757d;font-size:.875rem;font-weight:500}.home__features{padding:4rem 0}.home__features-title{color:#212529;font-size:1.875rem;font-weight:600;margin-bottom:3rem;text-align:center}@media(max-width:575px){.home__features-title{font-size:1.5rem;margin-bottom:2rem}}.home__features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:575px){.home__features-grid{gap:1rem;grid-template-columns:1fr}}.home__feature-card{background-color:#fff;background:linear-gradient(135deg,#fff,#f8f9fa80);border:1px solid #e9ecef;border-radius:.75rem;color:inherit;cursor:pointer;overflow:hidden;padding:2rem;position:relative;text-decoration:none;transition:all .15s ease-in-out}.home__feature-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.home__feature-card:before{background:linear-gradient(90deg,var(--card-color),var(--card-color-light));content:"";height:4px;left:0;position:absolute;right:0;top:0}.home__feature-card--primary{--card-color:#ff6b6b;--card-color-light:#ff8e8e}.home__feature-card--secondary{--card-color:#4ecdc4;--card-color-light:#7ed6cc}.home__feature-card--accent{--card-color:#45b7d1;--card-color-light:#6ec6ff}.home__feature-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-8px)}.home__feature-card:hover .home__feature-arrow{transform:translateX(5px)}.home__feature-icon{font-size:48px;margin-bottom:1rem;text-align:center}.home__feature-title{color:#212529;font-size:1.25rem;font-weight:600;margin-bottom:.5rem;text-align:center}.home__feature-description{color:#6c757d;font-size:.875rem;line-height:1.75;margin-bottom:1rem;text-align:center}.home__feature-arrow{bottom:1rem;color:var(--card-color);font-size:1.25rem;position:absolute;right:1rem;transition:transform .15s ease-in-out}.home__how-to{background-color:#fffc;border-radius:1rem;margin:2rem 0;padding:4rem 0}.home__how-to-title{color:#212529;font-size:1.875rem;font-weight:600;margin-bottom:3rem;text-align:center}.home__steps{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media(max-width:575px){.home__steps{gap:1.5rem}}.home__step{position:relative;text-align:center}.home__step:not(:last-child):after{color:#ff6b6b;content:"→";font-size:1.5rem;font-weight:700;position:absolute;right:-1rem;top:30px}@media(max-width:575px){.home__step:not(:last-child):after{display:none}}.home__step-number{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ff4757);border-radius:50%;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 1rem;width:60px}.home__step-title{color:#212529;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.home__step-description{color:#6c757d;font-size:.875rem;line-height:1.75}.home__benefits{padding:4rem 0}.home__benefits-title{color:#212529;font-size:1.875rem;font-weight:600;margin-bottom:3rem;text-align:center}.home__benefits-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media(max-width:575px){.home__benefits-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}}.home__benefit{background-color:#fff;background:#fffc;border:none;border-radius:.75rem;padding:1.5rem;text-align:center;transition:all .15s ease-in-out}.home__benefit:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-4px)}.home__benefit-icon{font-size:40px;margin-bottom:1rem}.home__benefit-title{color:#212529;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.home__benefit-description{color:#6c757d;font-size:.875rem;line-height:1.75}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(min-width:576px)and (max-width:991px){.home__benefits,.home__features,.home__hero,.home__how-to{padding:3rem 0}.home__features-grid{grid-template-columns:repeat(2,1fr)}}.handwriting-canvas{background-color:#fff;border:2px dashed #dee2e6;border-radius:.75rem;overflow:hidden;position:relative;transition:border-color .15s ease-in-out;width:100%}.handwriting-canvas:hover{border-color:#ff6b6b}.handwriting-canvas__canvas{background-color:#fff;cursor:crosshair;display:block;height:auto;width:100%}.handwriting-canvas__canvas:active{cursor:grabbing}.handwriting-canvas__placeholder{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.handwriting-canvas__placeholder .placeholder-text{background-color:#ffffffe6;border:1px solid #e9ecef;border-radius:.5rem;color:#adb5bd;font-size:1.25rem;font-weight:500;padding:.5rem 1rem;text-align:center}@media(max-width:575px){.handwriting-canvas__placeholder .placeholder-text{font-size:1rem}}.handwriting-canvas:has(.handwriting-canvas__canvas:active) .handwriting-canvas__placeholder{opacity:0}@media(hover:none)and (pointer:coarse){.handwriting-canvas__canvas{cursor:default}.handwriting-canvas__placeholder .placeholder-text{font-size:1rem;padding:.25rem .5rem}}.signature-preview{background-color:#fff;border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:1.5rem;padding:1.5rem}.signature-preview__container{grid-gap:1.5rem;display:grid;gap:1.5rem}@media(min-width:992px){.signature-preview__container{gap:2rem;grid-template-columns:1fr 300px}}.signature-preview__image-container{display:flex;flex-direction:column;gap:1rem}.signature-preview__image{align-items:center;border:1px solid #e9ecef;border-radius:.5rem;display:flex;justify-content:center;min-height:200px;overflow:hidden;position:relative}.signature-preview__image--transparent{background-image:linear-gradient(45deg,#f0f0f0 25%,#0000 0),linear-gradient(-45deg,#f0f0f0 25%,#0000 0),linear-gradient(45deg,#0000 75%,#f0f0f0 0),linear-gradient(-45deg,#0000 75%,#f0f0f0 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.signature-preview__image--white{background-color:#fff}.signature-preview__image--dark{background-color:#343a40}.signature-preview__image--pattern{background-image:linear-gradient(45deg,#e3f2fd 25%,#0000 0),linear-gradient(-45deg,#e3f2fd 25%,#0000 0),linear-gradient(45deg,#0000 75%,#e3f2fd 0),linear-gradient(-45deg,#0000 75%,#e3f2fd 0);background-position:0 0,0 15px,15px -15px,-15px 0;background-size:30px 30px}.signature-preview__img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));max-height:300px;max-width:100%;object-fit:contain}.signature-preview__background-selector{align-items:center;background-color:#f8f9fa;border-radius:.5rem;display:flex;justify-content:space-between;padding:.5rem}.signature-preview__background-selector .background-selector__label{color:#6c757d;font-size:.875rem;font-weight:500}.signature-preview__background-selector .background-selector__options{display:flex;gap:.25rem}.signature-preview .background-option{background:none;border:2px solid #0000;border-radius:.25rem;cursor:pointer;height:32px;transition:all .15s ease-in-out;width:32px}.signature-preview .background-option:hover{border-color:#ff6b6b;transform:scale(1.1)}.signature-preview .background-option--active{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b33}.signature-preview .background-option__preview{border-radius:.125rem;height:100%;width:100%}.signature-preview .background-option__preview--transparent{background-image:linear-gradient(45deg,#ddd 25%,#0000 0),linear-gradient(-45deg,#ddd 25%,#0000 0),linear-gradient(45deg,#0000 75%,#ddd 0),linear-gradient(-45deg,#0000 75%,#ddd 0);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.signature-preview .background-option__preview--white{background-color:#fff;border:1px solid #dee2e6}.signature-preview .background-option__preview--dark{background-color:#343a40}.signature-preview .background-option__preview--pattern{background-image:linear-gradient(45deg,#e3f2fd 25%,#fff 0),linear-gradient(-45deg,#e3f2fd 25%,#fff 0),linear-gradient(45deg,#fff 75%,#e3f2fd 0),linear-gradient(-45deg,#fff 75%,#e3f2fd 0);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.signature-preview__info{background-color:#f8f9fa;border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.signature-preview__info .info-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.25rem 0}.signature-preview__info .info-item:last-child{border-bottom:none}.signature-preview__info .info-item .info-label{color:#6c757d;font-size:.875rem;font-weight:500}.signature-preview__info .info-item .info-value{color:#212529;font-size:.875rem;font-weight:600;text-align:right}.signature-preview__actions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}@media(min-width:576px)and (max-width:991px){.signature-preview__actions{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.signature-preview__actions{grid-template-columns:1fr}}.signature-preview__actions .btn{gap:.25rem;justify-content:center}.signature-preview__tips{background-color:#17a2b81a;border-left:4px solid #17a2b8;border-radius:.5rem;grid-column:1/-1;padding:1rem}.signature-preview__tips h4{color:#212529;font-size:1rem;font-weight:600;margin-bottom:.5rem}.signature-preview__tips ul{margin:0;padding-left:1.5rem}.signature-preview__tips ul li{color:#6c757d;font-size:.875rem;line-height:1.75;margin-bottom:.25rem}.signature-preview__tips ul li:last-child{margin-bottom:0}@media(max-width:575px){.signature-preview__container{gap:1rem}.signature-preview__actions{grid-template-columns:1fr}.signature-preview__image{min-height:150px}.signature-preview__tips{padding:.5rem}.signature-preview__tips h4{font-size:.875rem}.signature-preview__tips ul{padding-left:1rem}.signature-preview__tips ul li{font-size:.75rem}}.handwriting-signature{background-color:#f8f9fa;min-height:100vh;padding-top:60px}.handwriting-signature__header{background-color:#fff;border-bottom:1px solid #e9ecef;padding:2rem 0;text-align:center}.handwriting-signature__title{color:#212529;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}@media(max-width:575px){.handwriting-signature__title{font-size:1.5rem}}.handwriting-signature__description{color:#6c757d;font-size:1rem;line-height:1.75;margin:0 auto;max-width:600px}@media(max-width:575px){.handwriting-signature__description{font-size:.875rem;padding:0 1rem}}.handwriting-signature__content{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}@media(max-width:575px){.handwriting-signature__content{gap:1.5rem;padding:1.5rem 0}}.handwriting-signature__settings{grid-gap:1.5rem;align-items:end;background-color:#fff;border:1px solid #e9ecef;border-radius:.75rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}@media(max-width:575px){.handwriting-signature__settings{gap:1rem;grid-template-columns:1fr}}.handwriting-signature__settings .settings-group{display:flex;flex-direction:column;gap:.25rem}.handwriting-signature__settings .settings-label{color:#6c757d;font-size:.875rem;font-weight:500}.handwriting-signature__settings .color-picker{border:1px solid #dee2e6;border-radius:.5rem;cursor:pointer;height:40px;transition:all .15s ease-in-out;width:60px}.handwriting-signature__settings .color-picker:hover{border-color:#ff6b6b;transform:scale(1.05)}.handwriting-signature__settings .range-slider{background:linear-gradient(90deg,#e9ecef,#ff6b6b);border:1px solid #dee2e6;border-radius:.5rem;cursor:pointer;font-size:1rem;height:40px;outline:none;padding:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.handwriting-signature__settings .range-slider:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.handwriting-signature__settings .range-slider::placeholder{color:#adb5bd}.handwriting-signature__settings .range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#ff6b6b;border-radius:50%;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;height:20px;width:20px}.handwriting-signature__settings .range-slider::-moz-range-thumb{background:#ff6b6b;border:none;border-radius:50%;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;height:20px;width:20px}.handwriting-signature__settings .range-value{background-color:#f8f9fa;border-radius:.25rem;color:#adb5bd;font-size:.75rem;font-weight:500;min-width:40px;padding:.25rem;text-align:center}.handwriting-signature__settings .settings-checkbox{align-items:center;color:#6c757d;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;justify-content:center;-webkit-user-select:none;user-select:none}.handwriting-signature__settings .settings-checkbox input[type=checkbox]{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.handwriting-signature__settings .settings-checkbox .checkmark{border:2px solid #dee2e6;border-radius:.25rem;height:20px;position:relative;transition:all .15s ease-in-out;width:20px}.handwriting-signature__settings .settings-checkbox .checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;opacity:0;position:absolute;top:2px;transform:rotate(45deg);transition:opacity .15s ease-in-out;width:6px}.handwriting-signature__settings .settings-checkbox input:checked+.checkmark{background-color:#ff6b6b;border-color:#ff6b6b}.handwriting-signature__settings .settings-checkbox input:checked+.checkmark:after{opacity:1}.handwriting-signature__settings .settings-checkbox:hover .checkmark{border-color:#ff6b6b}.handwriting-signature__canvas-area{background-color:#fff;border:1px solid #e9ecef;border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;min-height:450px;padding:1.5rem}@media(max-width:575px){.handwriting-signature__canvas-area{min-height:350px}}.handwriting-signature .canvas-controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}@media(max-width:575px){.handwriting-signature .canvas-controls{gap:.25rem}}.handwriting-signature .canvas-controls .btn{align-items:center;display:flex;gap:.25rem;justify-content:center;min-width:100px}@media(max-width:575px){.handwriting-signature .canvas-controls .btn{font-size:.75rem;min-width:80px;padding:.25rem}}.handwriting-signature__actions{text-align:center}.handwriting-signature__result{animation:slideUp ease-out .3s ease-in-out}.handwriting-signature .result-title{color:#212529;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.handwriting-signature__help{background-color:#fff;background-color:#17a2b80d;border:1px solid #e9ecef;border-left:4px solid #17a2b8;border-radius:.75rem;padding:1.5rem}.handwriting-signature__help h3{align-items:center;color:#212529;display:flex;font-size:1.125rem;font-weight:600;gap:.25rem;justify-content:center;justify-content:flex-start;margin-bottom:1rem}.handwriting-signature__help ul{margin:0;padding-left:1.5rem}.handwriting-signature__help ul li{color:#6c757d;font-size:.875rem;line-height:1.75;margin-bottom:.5rem}.handwriting-signature__help ul li:last-child{margin-bottom:0}.handwriting-signature__help ul li::marker{color:#17a2b8}@media(max-width:575px){.handwriting-signature__help h3{font-size:1rem}.handwriting-signature__help ul{padding-left:1rem}.handwriting-signature__help ul li{font-size:.75rem}}.btn:disabled{position:relative}.btn:disabled .loading-spinner{margin-right:.25rem}@media(min-width:576px)and (max-width:991px){.handwriting-signature__settings{grid-template-columns:repeat(2,1fr)}.handwriting-signature__content{padding:1.5rem 0}}@media(min-width:992px){.handwriting-signature__content{margin:0 auto;max-width:900px}.handwriting-signature__settings{grid-template-columns:repeat(3,1fr)}}.image-processor{background-color:#fff;border:1px solid #e9ecef;border-radius:.75rem;padding:1.5rem}.image-processor__placeholder{align-items:center;color:#adb5bd;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem;text-align:center}.image-processor__placeholder .placeholder-icon{font-size:60px;margin-bottom:1rem}.image-processor__placeholder p{font-size:1rem;font-weight:500}.image-processor__container{grid-gap:2rem;display:grid;gap:2rem}@media(min-width:992px){.image-processor__container{grid-template-columns:1fr 400px}}.image-processor__preview .preview-container{background:linear-gradient(45deg,#f0f0f0 25%,#0000 0),linear-gradient(-45deg,#f0f0f0 25%,#0000 0),linear-gradient(45deg,#0000 75%,#f0f0f0 0),linear-gradient(-45deg,#0000 75%,#f0f0f0 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:.75rem;overflow:hidden;position:relative}.image-processor__preview .preview-image{display:block;height:auto;max-height:400px;object-fit:contain;width:100%}.image-processor__preview .preview-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;left:0;padding:1rem;position:absolute;right:0}.image-processor__preview .preview-overlay .image-info{align-items:center;display:flex;justify-content:space-between}.image-processor__preview .preview-overlay .image-info .image-name{font-size:.875rem;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-processor__preview .preview-overlay .image-info .image-size{font-size:.75rem;opacity:.8}.image-processor__options{display:flex;flex-direction:column;gap:1.5rem}.image-processor__options .options-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding-bottom:.5rem}.image-processor__options .options-header h3{color:#212529;font-size:1.25rem;font-weight:600;margin:0}.image-processor__options .options-grid{display:flex;flex-direction:column;gap:1.5rem}.image-processor__options .option-group{display:flex;flex-direction:column;gap:.25rem}.image-processor__options .option-group--checkbox .option-checkbox{align-items:center;color:#212529;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;justify-content:flex-start;-webkit-user-select:none;user-select:none}.image-processor__options .option-group--checkbox .option-checkbox input[type=checkbox]{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.image-processor__options .option-group--checkbox .option-checkbox .checkmark{border:2px solid #dee2e6;border-radius:.25rem;flex-shrink:0;height:20px;position:relative;transition:all .15s ease-in-out;width:20px}.image-processor__options .option-group--checkbox .option-checkbox .checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;opacity:0;position:absolute;top:2px;transform:rotate(45deg);transition:opacity .15s ease-in-out;width:6px}.image-processor__options .option-group--checkbox .option-checkbox input:checked+.checkmark{background-color:#ff6b6b;border-color:#ff6b6b}.image-processor__options .option-group--checkbox .option-checkbox input:checked+.checkmark:after{opacity:1}.image-processor__options .option-group--checkbox .option-checkbox:hover .checkmark{border-color:#ff6b6b}.image-processor__options .option-label{align-items:center;color:#6c757d;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between}.image-processor__options .option-label .option-value{background-color:#ff6b6b1a;border-radius:.25rem;color:#ff6b6b;font-weight:600;min-width:40px;padding:.25rem;text-align:center}.image-processor__options .option-slider{background:linear-gradient(90deg,#e9ecef,#ff6b6b);border:1px solid #dee2e6;border-radius:.5rem;border-radius:9999px;cursor:pointer;font-size:1rem;height:8px;outline:none;padding:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.image-processor__options .option-slider:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.image-processor__options .option-slider::placeholder{color:#adb5bd}.image-processor__options .option-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#ff6b6b;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;height:20px;width:20px}.image-processor__options .option-slider::-moz-range-thumb{background:#ff6b6b;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 2px 0 #0000000d;cursor:pointer;height:20px;width:20px}.image-processor__options .option-slider:disabled{cursor:not-allowed;opacity:.5}.image-processor__options .option-description{color:#adb5bd;font-size:.75rem;line-height:1.75}.image-processor__options .processing-tips{background-color:#17a2b80d;border-left:4px solid #17a2b8;border-radius:.5rem;padding:1rem}.image-processor__options .processing-tips h4{color:#212529;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.image-processor__options .processing-tips ul{margin:0;padding-left:1.5rem}.image-processor__options .processing-tips ul li{color:#6c757d;font-size:.75rem;line-height:1.75;margin-bottom:.25rem}.image-processor__options .processing-tips ul li:last-child{margin-bottom:0}.image-processor__options .processing-tips ul li strong{color:#212529;font-weight:600}@media(max-width:575px){.image-processor__container{gap:1.5rem;grid-template-columns:1fr}.image-processor__options .options-header{align-items:stretch;flex-direction:column;gap:.5rem}.image-processor__options .options-header h3{text-align:center}.image-processor__options .processing-tips h4{font-size:.75rem}.image-processor__options .processing-tips ul li{font-size:10px}}@media(min-width:576px)and (max-width:991px){.image-processor__container{grid-template-columns:1fr}.image-processor__options .options-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.image-processor__options .options-grid .option-group--checkbox{grid-column:1/-1}}.photo-signature{background-color:#f8f9fa;min-height:100vh;padding-top:60px}.photo-signature__header{background-color:#fff;border-bottom:1px solid #e9ecef;padding:2rem 0;text-align:center}.photo-signature__title{color:#212529;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}@media(max-width:575px){.photo-signature__title{font-size:1.5rem}}.photo-signature__description{color:#6c757d;font-size:1rem;line-height:1.75;margin:0 auto;max-width:600px}@media(max-width:575px){.photo-signature__description{font-size:.875rem;padding:0 1rem}}.photo-signature__loading{align-items:center;display:flex;flex-direction:column;gap:1rem;height:50vh;justify-content:center}.photo-signature__loading p{color:#6c757d;font-size:1rem}.photo-signature__progress{display:flex;gap:1.5rem;justify-content:center;padding:2rem 0;position:relative}@media(max-width:575px){.photo-signature__progress{gap:1rem;padding:1.5rem 0}}.photo-signature__progress:before{background-color:#e9ecef;content:"";height:2px;left:0;position:absolute;right:0;top:50%;z-index:1}.photo-signature__progress .progress-step{align-items:center;background-color:#f8f9fa;display:flex;flex-direction:column;gap:.25rem;justify-content:center;padding:0 .5rem;position:relative;z-index:2}.photo-signature__progress .progress-step__number{align-items:center;background-color:#dee2e6;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:700;height:40px;justify-content:center;transition:all .15s ease-in-out;width:40px}@media(max-width:575px){.photo-signature__progress .progress-step__number{font-size:.75rem;height:32px;width:32px}}.photo-signature__progress .progress-step__label{color:#adb5bd;font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}@media(max-width:575px){.photo-signature__progress .progress-step__label{font-size:10px}}.photo-signature__progress .progress-step.active .progress-step__number{background-color:#ff6b6b;box-shadow:0 0 0 4px #ff6b6b33}.photo-signature__progress .progress-step.active .progress-step__label{color:#ff6b6b}.photo-signature__progress .progress-step.completed .progress-step__number{background-color:#28a745}.photo-signature__progress .progress-step.completed .progress-step__label{color:#28a745}.photo-signature__content{padding:2rem 0}@media(max-width:575px){.photo-signature__content{padding:1.5rem 0}}.photo-signature__tips{background-color:#fff;background-color:#17a2b80d;border:1px solid #e9ecef;border-left:4px solid #17a2b8;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.photo-signature__tips h3{align-items:center;color:#212529;display:flex;font-size:1.125rem;font-weight:600;gap:.25rem;justify-content:center;justify-content:flex-start;margin-bottom:1rem}.photo-signature__tips ul{margin:0;padding-left:1.5rem}.photo-signature__tips ul li{color:#6c757d;font-size:.875rem;line-height:1.75;margin-bottom:.5rem}.photo-signature__tips ul li:last-child{margin-bottom:0}.photo-signature__tips ul li::marker{color:#17a2b8}@media(max-width:575px){.photo-signature__tips h3{font-size:1rem}.photo-signature__tips ul{padding-left:1rem}.photo-signature__tips ul li{font-size:.75rem}}.photo-signature__divider{align-items:center;display:flex;justify-content:center;margin:1.5rem 0;position:relative}.photo-signature__divider:before{background-color:#dee2e6;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.photo-signature__divider span{background-color:#f8f9fa;color:#adb5bd;font-size:.875rem;font-weight:500;padding:0 1rem}.photo-signature .capture-step,.photo-signature .process-step,.photo-signature .result-step{display:flex;flex-direction:column;gap:1.5rem}.photo-signature .file-upload-section{text-align:center}.photo-signature .file-upload-section .file-input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.photo-signature .file-upload-section .file-upload-button{align-items:center;background-color:#4ecdc4;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-size:1.25rem;font-weight:500;gap:.25rem;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none;white-space:nowrap}.photo-signature .file-upload-section .file-upload-button:focus{box-shadow:0 0 0 3px #ff6b6b4d;outline:none}.photo-signature .file-upload-section .file-upload-button:disabled{cursor:not-allowed}.photo-signature .file-upload-section .file-upload-button:hover:not(:disabled){background-color:#35bdb3;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.photo-signature .file-upload-section .file-upload-button:active{box-shadow:0 1px 2px 0 #0000000d;transform:translateY(0)}.photo-signature .process-actions,.photo-signature .result-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media(max-width:575px){.photo-signature .process-actions,.photo-signature .result-actions{align-items:stretch;flex-direction:column}}.photo-signature .error-message{align-items:center;background-color:#fff;background-color:#dc35451a;border:1px solid #e9ecef;border-left:4px solid #dc3545;border-radius:.75rem;color:#dc3545;display:flex;gap:.5rem;justify-content:center;justify-content:flex-start;padding:1.5rem}.photo-signature .error-message .error-icon{flex-shrink:0;font-size:1.25rem}.photo-signature .result-title{color:#212529;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.capture-step,.process-step{animation:slideUp ease-out .3s ease-in-out}.process-step{animation-delay:.1s}.result-step{animation:slideUp ease-out .3s ease-in-out;animation-delay:.2s}@media(min-width:576px)and (max-width:991px){.photo-signature__progress{gap:1rem}.photo-signature__content{margin:0 auto;max-width:800px}}@media(min-width:992px){.photo-signature__content{margin:0 auto;max-width:1000px}}.stamp-canvas{align-items:center;display:flex;flex-direction:column;gap:20px}@media(max-width:768px){.stamp-canvas{gap:16px}}.stamp-canvas__container{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain;padding:20px;touch-action:none}@media(max-width:768px){.stamp-canvas__container{border-radius:8px;gap:12px;padding:16px}}.stamp-canvas__drawing-area{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:inset 0 0 0 1px #0000000d;cursor:crosshair;touch-action:none;transition:border-color .2s ease}.stamp-canvas__drawing-area:hover{border-color:#007bff}@media(max-width:768px){.stamp-canvas__drawing-area{border-radius:6px}}.stamp-canvas__controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}@media(max-width:768px){.stamp-canvas__controls{flex-direction:column;gap:8px;width:100%}}.stamp-canvas__controls .btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:10px 20px;transition:all .2s ease}@media(max-width:768px){.stamp-canvas__controls .btn{font-size:13px;min-width:auto;padding:12px 16px;width:100%}}.stamp-canvas__controls .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.stamp-canvas__controls .btn:active{transform:translateY(0)}.stamp-canvas__controls .btn--primary{background:#007bff;color:#fff}.stamp-canvas__controls .btn--primary:hover{background:#0056b3}.stamp-canvas__controls .btn--secondary{background:#6c757d;color:#fff}.stamp-canvas__controls .btn--secondary:hover{background:#545b62}.stamp-canvas__controls .btn--small{font-size:12px;min-width:100px;padding:8px 16px}@media(max-width:768px){.stamp-canvas__controls .btn--small{font-size:11px;min-width:auto;padding:10px 14px}}.stamp-canvas__controls .btn--active{background:#dc3545;color:#fff}.stamp-canvas__controls .btn--active:hover{background:#c82333}.stamp-canvas__controls .btn--active.manual-lock{background:#fd7e14}.stamp-canvas__controls .btn--active.manual-lock:hover{background:#e8690b}.stamp-canvas__scroll-controls{align-items:center;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.stamp-canvas__scroll-controls .scroll-lock-icon{font-size:14px;margin-right:6px}.stamp-canvas__scroll-controls .scroll-lock-indicator{align-items:center;background:#dc35451a;border:1px solid #dc354533;border-radius:4px;color:#dc3545;display:flex;font-size:12px;font-weight:500;gap:6px;padding:4px 8px}.stamp-canvas__scroll-controls .scroll-lock-indicator .indicator-dot{animation:pulse 2s infinite;background:#dc3545;border-radius:50%;height:8px;width:8px}.stamp-canvas__scroll-controls .scroll-lock-indicator.manual-lock{background:#fd7e141a;border-color:#fd7e1433;color:#fd7e14}.stamp-canvas__scroll-controls .scroll-lock-indicator.manual-lock .indicator-dot{background:#fd7e14}.stamp-canvas__drawing-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}@media(max-width:768px){.stamp-canvas__drawing-controls{flex-direction:column;gap:8px;width:100%}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.stamp-settings{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;height:auto;max-width:100%;overflow:hidden;padding:20px}@media(max-width:768px){.stamp-settings{border-radius:8px;padding:16px}}.stamp-settings__header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:center;margin-bottom:20px;padding-bottom:16px}@media(max-width:768px){.stamp-settings__header{margin-bottom:16px;padding-bottom:12px}}.stamp-settings__header h2{color:#333;font-size:20px;font-weight:700;margin:0}@media(max-width:768px){.stamp-settings__header h2{font-size:18px}}.stamp-settings__section{margin-bottom:24px}.stamp-settings__section:last-child{margin-bottom:0}.stamp-settings__section h3{align-items:center;color:#333;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px}@media(max-width:768px){.stamp-settings__section h3{font-size:16px;margin-bottom:12px}}.stamp-settings .effects-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-bottom:16px}@media(max-width:768px){.stamp-settings .effects-grid{gap:6px;grid-template-columns:repeat(3,1fr)}}.stamp-settings .border-types-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:16px}@media(max-width:768px){.stamp-settings .border-types-grid{gap:6px;grid-template-columns:repeat(2,1fr)}}.stamp-settings .carving-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}@media(max-width:768px){.stamp-settings .carving-grid{gap:6px}}.stamp-settings .border-button,.stamp-settings .carving-button,.stamp-settings .effect-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:60px;padding:12px 8px;transition:all .2s ease}@media(max-width:768px){.stamp-settings .border-button,.stamp-settings .carving-button,.stamp-settings .effect-button{min-height:50px;padding:8px 6px}}.stamp-settings .border-button:hover,.stamp-settings .carving-button:hover,.stamp-settings .effect-button:hover{background:#f8f9ff;border-color:#007bff;transform:translateY(-1px)}.stamp-settings .border-button.active,.stamp-settings .carving-button.active,.stamp-settings .effect-button.active{background:#e3f2fd;border-color:#007bff;box-shadow:0 2px 8px #007bff33}.stamp-settings .border-button .border-icon,.stamp-settings .border-button .carving-icon,.stamp-settings .border-button .effect-icon,.stamp-settings .carving-button .border-icon,.stamp-settings .carving-button .carving-icon,.stamp-settings .carving-button .effect-icon,.stamp-settings .effect-button .border-icon,.stamp-settings .effect-button .carving-icon,.stamp-settings .effect-button .effect-icon{font-size:20px;margin-bottom:4px}@media(max-width:768px){.stamp-settings .border-button .border-icon,.stamp-settings .border-button .carving-icon,.stamp-settings .border-button .effect-icon,.stamp-settings .carving-button .border-icon,.stamp-settings .carving-button .carving-icon,.stamp-settings .carving-button .effect-icon,.stamp-settings .effect-button .border-icon,.stamp-settings .effect-button .carving-icon,.stamp-settings .effect-button .effect-icon{font-size:16px;margin-bottom:2px}}.stamp-settings .border-button .border-label,.stamp-settings .border-button .carving-label,.stamp-settings .border-button .effect-label,.stamp-settings .carving-button .border-label,.stamp-settings .carving-button .carving-label,.stamp-settings .carving-button .effect-label,.stamp-settings .effect-button .border-label,.stamp-settings .effect-button .carving-label,.stamp-settings .effect-button .effect-label{color:#555;font-size:12px;font-weight:500;line-height:1.2;text-align:center}@media(max-width:768px){.stamp-settings .border-button .border-label,.stamp-settings .border-button .carving-label,.stamp-settings .border-button .effect-label,.stamp-settings .carving-button .border-label,.stamp-settings .carving-button .carving-label,.stamp-settings .carving-button .effect-label,.stamp-settings .effect-button .border-label,.stamp-settings .effect-button .carving-label,.stamp-settings .effect-button .effect-label{font-size:11px}}.stamp-settings .setting-group{margin-bottom:16px}.stamp-settings .setting-group:last-child{margin-bottom:0}.stamp-settings .setting-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:8px}@media(max-width:768px){.stamp-settings .setting-group label{font-size:13px;margin-bottom:6px}}.stamp-settings .setting-group.checkbox-label{align-items:center;cursor:pointer;display:flex;margin-bottom:0}.stamp-settings .setting-group.checkbox-label input[type=checkbox]{display:none}.stamp-settings .setting-group.checkbox-label .checkmark{background:#fff;border:2px solid #ddd;border-radius:4px;height:20px;margin-right:8px;position:relative;transition:all .2s ease;width:20px}@media(max-width:768px){.stamp-settings .setting-group.checkbox-label .checkmark{height:18px;width:18px}}.stamp-settings .setting-group.checkbox-label .checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;opacity:0;position:absolute;top:2px;transform:rotate(45deg);transition:opacity .2s ease;width:6px}@media(max-width:768px){.stamp-settings .setting-group.checkbox-label .checkmark:after{height:8px;left:5px;top:1px;width:5px}}.stamp-settings .setting-group.checkbox-label input[type=checkbox]:checked+.checkmark{background:#007bff;border-color:#007bff}.stamp-settings .setting-group.checkbox-label input[type=checkbox]:checked+.checkmark:after{opacity:1}.stamp-settings .color-picker-container{align-items:center;display:flex;gap:12px}@media(max-width:768px){.stamp-settings .color-picker-container{gap:8px}}.stamp-settings .color-picker-container .color-picker{background:none;border:none;border-radius:8px;cursor:pointer;height:40px;width:40px}@media(max-width:768px){.stamp-settings .color-picker-container .color-picker{height:36px;width:36px}}.stamp-settings .color-picker-container .color-picker::-webkit-color-swatch-wrapper{padding:0}.stamp-settings .color-picker-container .color-picker::-webkit-color-swatch{border:2px solid #ddd;border-radius:6px}.stamp-settings .color-picker-container .color-display{border:2px solid #ddd;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff80;height:40px;width:40px}@media(max-width:768px){.stamp-settings .color-picker-container .color-display{height:36px;width:36px}}.stamp-settings .range-slider{-webkit-appearance:none;background:#e0e0e0;border-radius:3px;height:6px;outline:none;width:100%}.stamp-settings .range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#007bff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.stamp-settings .range-slider::-moz-range-thumb{background:#007bff;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.stamp-settings .select-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}@media(max-width:768px){.stamp-settings .select-input{font-size:13px;padding:8px 10px}}.stamp-settings .select-input:focus{border-color:#007bff;outline:none}.stamp-settings .select-input option{padding:8px}.stamp-generator{display:flex;gap:24px;margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);padding:20px}@media(max-width:1024px){.stamp-generator{flex-direction:column;gap:20px;padding:16px}}@media(max-width:768px){.stamp-generator{gap:16px;padding:12px}}.stamp-generator__left{flex:0 0 320px;max-width:320px}@media(max-width:1024px){.stamp-generator__left{flex:none;max-width:100%;order:2}}@media(max-width:768px){.stamp-generator__left{order:2}}.stamp-generator__right{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center}@media(max-width:1024px){.stamp-generator__right{order:1}}@media(max-width:768px){.stamp-generator__right{order:1}}.stamp-generator__preview{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;flex-direction:column;gap:1rem;min-width:250px;padding:1rem}.stamp-generator__preview h3{color:#495057;font-size:1.1rem;font-weight:600;margin:0}.stamp-generator .preview-container{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;display:flex;height:200px;justify-content:center;overflow:hidden;width:200px}.stamp-generator .preview-image{max-height:100%;max-width:100%;object-fit:contain}.stamp-generator .preview-placeholder{color:#6c757d;font-size:.9rem;padding:1rem;text-align:center}.custom-stamp{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem 0}.custom-stamp .container{margin:0 auto;max-width:1400px;padding:0 1rem}.custom-stamp__header{margin-bottom:2rem;text-align:center}.custom-stamp__header .custom-stamp__title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #0000001a}.custom-stamp__header .custom-stamp__description{color:#5a6c7d;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.custom-stamp__content .stamp-creator{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:300px 1fr 300px;min-height:600px}@media(max-width:1200px){.custom-stamp__content .stamp-creator{gap:1.5rem;grid-template-columns:280px 1fr 280px}}@media(max-width:992px){.custom-stamp__content .stamp-creator{gap:1rem;grid-template-columns:1fr;grid-template-rows:auto auto auto}}.custom-stamp__content .settings-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;height:-webkit-fit-content;height:fit-content;max-height:80vh;overflow:hidden;overflow-y:auto}@media(max-width:992px){.custom-stamp__content .settings-panel{max-height:none;order:2}}.custom-stamp__content .drawing-area{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:center;min-height:500px;padding:2rem}@media(max-width:992px){.custom-stamp__content .drawing-area{min-height:400px;order:1;padding:1rem}}.custom-stamp__content .drawing-area .drawing-container{align-items:center;display:flex;justify-content:center;position:relative}.custom-stamp__content .drawing-area .guides-overlay{left:0;pointer-events:none;position:absolute;top:0;z-index:1}.custom-stamp__content .preview-area{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;height:-webkit-fit-content;height:fit-content;padding:1.5rem}@media(max-width:992px){.custom-stamp__content .preview-area{order:3}}.custom-stamp__loading{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:400px}.custom-stamp__loading p{color:#6c757d;font-size:1.1rem;margin-top:1rem}.btn{border-radius:6px;display:inline-block;font-size:.9rem;padding:.75rem 1.5rem;text-align:center;transition:all .3s ease}.btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #667eea4d}.btn--primary:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.btn--primary:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.btn--secondary{background:#6c757d;box-shadow:0 2px 10px #6c757d4d}.btn--secondary:hover{background:#5a6268;box-shadow:0 3px 12px #6c757d66;transform:translateY(-1px)}.custom-stamp-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:20px 0}@media(max-width:768px){.custom-stamp-page{padding:12px 0}}.custom-stamp-page h2{color:#333;font-size:28px;font-weight:700;margin:0 0 24px;text-align:center;text-shadow:0 2px 4px #0000001a}@media(max-width:768px){.custom-stamp-page h2{font-size:24px;margin-bottom:20px}}.gallery{background-color:#f8f9fa;min-height:100vh;padding-top:60px}.gallery__header{background-color:#fff;border-bottom:1px solid #e9ecef;padding:2rem 0;text-align:center}.gallery__title{color:#212529;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.gallery__description{color:#6c757d;font-size:1rem}.gallery__empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 0;text-align:center}.gallery__empty .empty-icon{font-size:80px;margin-bottom:1.5rem}.gallery__empty h3{color:#212529;font-size:1.25rem;margin-bottom:.5rem}.gallery__empty p{color:#6c757d;font-size:.875rem}.gallery__controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.5rem 0}.gallery__controls .controls-left,.gallery__controls .controls-right{align-items:center;display:flex;gap:.5rem}.gallery__controls .sort-select{border:1px solid #dee2e6;border-radius:.5rem;font-size:1rem;font-size:.875rem;min-width:120px;padding:.25rem .5rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.gallery__controls .sort-select:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.gallery__controls .sort-select::placeholder{color:#adb5bd}.gallery__controls .view-toggle{border:1px solid #dee2e6;border-radius:.5rem;display:flex;overflow:hidden}.gallery__controls .view-toggle .view-btn{background:#fff;border:none;cursor:pointer;font-size:1.125rem;padding:.25rem .5rem;transition:all .15s ease-in-out}.gallery__controls .view-toggle .view-btn.active{background:#ff6b6b;color:#fff}.gallery__controls .view-toggle .view-btn:hover:not(.active){background:#f8f9fa}.gallery__content{padding-bottom:2rem}.gallery__content--grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gallery__content--list{display:flex;flex-direction:column;gap:1rem}.gallery-item{background-color:#fff;border:1px solid #e9ecef;border-radius:.75rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .15s ease-in-out}.gallery-item.selected{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b33}.gallery-item:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.gallery__content--grid .gallery-item{display:flex;flex-direction:column}.gallery__content--list .gallery-item{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:auto 120px 1fr auto;padding:1rem}.gallery-item__checkbox{left:.5rem;position:absolute;top:.5rem;z-index:2}.gallery__content--list .gallery-item__checkbox{position:static}.gallery-item__checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.gallery-item__preview{background:linear-gradient(45deg,#f0f0f0 25%,#0000 0),linear-gradient(-45deg,#f0f0f0 25%,#0000 0),linear-gradient(45deg,#0000 75%,#f0f0f0 0),linear-gradient(-45deg,#0000 75%,#f0f0f0 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:.5rem .5rem 0 0;height:200px;overflow:hidden;position:relative}.gallery__content--list .gallery-item__preview{border-radius:.5rem;height:80px;width:120px}.gallery-item__image{background-color:#fffc;height:100%;object-fit:contain;width:100%}.gallery-item__info{flex:1 1;padding:1rem}.gallery__content--list .gallery-item__info{padding:0}.gallery-item__info .item-header{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:.25rem}.gallery-item__info .item-header .item-type{color:#ff6b6b;font-weight:500}.gallery-item__info .item-header .item-date{color:#adb5bd}.gallery-item__info .item-name{color:#212529;font-size:1rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-item__info .item-details{color:#6c757d;display:flex;font-size:.75rem;gap:.5rem}.gallery__content--list .gallery-item__info .item-details{display:flex;flex-direction:column;gap:.25rem}.gallery-item__actions{align-items:center;display:flex;gap:.25rem;justify-content:center;padding:.5rem}.gallery__content--grid .gallery-item__actions{border-top:1px solid #e9ecef;justify-content:center}.gallery-item__actions .action-btn{align-items:center;background:#f8f9fa;border:none;border-radius:.5rem;cursor:pointer;display:flex;font-size:1.125rem;height:36px;justify-content:center;transition:all .15s ease-in-out;width:36px}.gallery-item__actions .action-btn:hover{transform:scale(1.1)}.gallery-item__actions .action-btn--download:hover{background:#ff6b6b1a}.gallery-item__actions .action-btn--delete:hover{background:#dc35451a}@media(max-width:575px){.gallery__controls{align-items:stretch;flex-direction:column}.gallery__controls .controls-left,.gallery__controls .controls-right{justify-content:center}.gallery__content--grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.gallery__content--list .gallery-item{gap:.5rem;grid-template-columns:auto 80px 1fr auto}.gallery__content--list .gallery-item__preview{height:60px;width:80px}.gallery__content--list .gallery-item__info .item-name{font-size:.875rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-8px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes spin{to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{display:flex;flex-direction:column;min-height:100vh}.app .main-content{flex:1 1;overflow-y:auto;padding-bottom:70px}.app-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100vh;justify-content:center}.app-loading p{color:#6c757d;font-size:1.25rem}.container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}@media(max-width:575px){.container{padding:0 .5rem}}@media(min-width:576px)and (max-width:991px){.container{padding:0 1.5rem}}@media(min-width:992px){.container{padding:0 2rem}}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .15s ease-in-out;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus{box-shadow:0 0 0 3px #ff6b6b4d;outline:none}.btn:disabled{cursor:not-allowed}.btn--primary{background-color:#ff6b6b;color:#fff}.btn--primary:hover:not(:disabled){background-color:#ff4242;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn--primary:active{box-shadow:0 1px 2px 0 #0000000d;transform:translateY(0)}.btn--secondary{background-color:#4ecdc4;color:#fff}.btn--secondary:hover:not(:disabled){background-color:#35bdb3;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn--secondary:active{box-shadow:0 1px 2px 0 #0000000d;transform:translateY(0)}.btn--outline{background-color:#0000;border:1px solid #ff6b6b;color:#ff6b6b}.btn--outline:hover:not(:disabled){background-color:#ff6b6b;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;transform:translateY(-1px)}.btn--disabled:disabled{background-color:#dee2e6;box-shadow:none;color:#adb5bd;transform:none}.btn--small{font-size:.875rem;padding:.25rem .5rem}.btn--large{font-size:1.25rem;padding:1rem 1.5rem}.card{background-color:#fff;border:1px solid #e9ecef;border-radius:.75rem;padding:1.5rem}.card--elevated{border:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card--interactive{cursor:pointer;transition:all .15s ease-in-out}.card--interactive:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.input{border:1px solid #dee2e6;border-radius:.5rem;font-size:1rem;padding:.5rem 1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.input:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.input::placeholder{color:#adb5bd}.input--error,.input--error:focus{border-color:#dc3545}.input--error:focus{box-shadow:0 0 0 3px #dc35451a}.input--success{border-color:#28a745}.input--success:focus{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.p-sm{padding:.5rem}.p-md{padding:1rem}.p-lg{padding:1.5rem}.p-xl{padding:2rem}.hidden{display:none}.visible{display:block}@media(max-width:575px){.hidden-mobile{display:none}}@media(min-width:576px)and (max-width:991px){.hidden-tablet{display:none}}@media(min-width:992px){.hidden-desktop{display:none}}.privacy-policy{padding-bottom:100px;text-align:center}.privacy-policy a{color:#212529;text-decoration:none}
/*# sourceMappingURL=main.0cbbd3ef.css.map*/