@keyframes gl-success-header-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1);opacity:1}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes gl-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gl-image-appear{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes gl-cinematic-scroll{0%{transform:translateY(100%)}to{transform:translateY(-100%)}}@keyframes gl-nebula-drift{0%{transform:translate(0) rotate(0) scale(1);opacity:.4}to{transform:translate(10vw,-15vh) rotate(30deg) scale(1.2);opacity:.6}}@keyframes gl-parallax-move{0%{transform:translateY(0)}to{transform:translateY(-100px)}}@keyframes gl-deep-star-twinkle{0%{opacity:var(--start-opacity)}to{opacity:calc(var(--start-opacity) * 1.5)}}@keyframes gl-star-shake{0%,to{transform:translate(0)}25%{transform:translate(.5px,-.5px)}50%{transform:translate(-.5px,.5px)}75%{transform:translate(.5px,.5px)}}@keyframes gl-twinkle{0%,to{opacity:1;transform:scale(1) translate(var(--target-x),var(--target-y))}50%{opacity:.6;transform:scale(.8) translate(var(--target-x),var(--target-y))}}@keyframes gl-rise-up{0%{transform:translate(var(--start-x)) scale(.5);opacity:.9}to{transform:translate(calc(var(--start-x) * .5),-50vh) scale(1.2);opacity:0}}@keyframes gl-firefly-swirl-rise{0%{transform:translateY(0) translate(0);opacity:0}10%,90%{opacity:1}25%{transform:translateY(-8.33vh) translate(var(--swirl-intensity))}50%{transform:translateY(-16.67vh) translate(0)}75%{transform:translateY(-25vh) translate(calc(var(--swirl-intensity) * -1))}to{transform:translateY(-33.33vh) translate(0);opacity:0}}@keyframes gl-animate-wave{0%{transform:translate(0)}to{transform:translate(50%)}}@keyframes gl-fireworks-text-fade{0%,to{opacity:0;transform:translate(-50%) scale(.8)}15%,85%{opacity:1;transform:translate(-50%) scale(1)}}@keyframes gl-card-fade-in{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes gl-text-reveal{to{opacity:1;transform:translateY(0)}}@keyframes gl-spin{to{transform:rotate(360deg)}}@keyframes gl-drop{0%{transform:translateY(0) rotate(var(--start-rot));opacity:1}to{transform:translateY(105vh) translate(var(--x-drift)) rotate(calc(var(--start-rot) + 720deg));opacity:0}}@keyframes gl-pending-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes gl-fade-in-out{0%,to{opacity:0;transform:translate(-50%,-20px)}10%,90%{opacity:1;transform:translate(-50%)}}:root{--primary-color: #AD82D9;--primary-color-dark: #9368c0;--secondary-color: #F2B6E2;--accent-color: #F291A3;--text-color: #3C304A;--text-light: #736881;--bg-color: #FFFFFF;--bg-app: #F5F3F9;--border-color: #E6E0F0;--border-radius: 16px;--shadow: 0 6px 20px rgba(173, 130, 217, .15);--font-family: "Nunito", sans-serif;--error-color: #d32f2f;--error-bg-color: #ffebee;--success-color: #2e7d32;--success-bg-color: #e8f5e9}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column}.app-container{width:100%;max-width:500px;margin:2rem auto;padding:1.5rem;background-color:var(--bg-color);border-radius:var(--border-radius);box-shadow:var(--shadow);flex-grow:1}.header{text-align:center;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:2rem;font-weight:800;color:var(--primary-color);background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer}.header-store-icon,.header-placeholder{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.header-action-button{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-light);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s;width:32px;height:32px}.header-action-button:hover{background-color:var(--border-color);color:var(--primary-color)}.header-store-icon{font-size:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s cubic-bezier(.25,1,.5,1)}.header-store-icon:hover{transform:scale(1.15)}.header-store-icon:active{transform:scale(.95)}.section-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.title-badge{font-size:.8rem;font-weight:600;background-color:var(--secondary-color);color:var(--primary-color);padding:.25rem .6rem;border-radius:20px}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.template-card{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:all .2s ease-in-out;background-color:var(--bg-color);position:relative;box-shadow:var(--shadow)}.template-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #ad82d933}.template-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--secondary-color)}.template-card .check-icon{position:absolute;top:8px;right:8px;width:24px;height:24px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1rem;transform:scale(0);transition:transform .2s ease-out}.template-card.selected .check-icon{transform:scale(1)}.template-card img{width:100%;height:120px;object-fit:cover;display:block}.template-info{padding:.75rem}.template-info h3{font-size:1rem;font-weight:700;margin-bottom:.25rem}.template-info p{font-size:.9rem;font-weight:600;color:var(--primary-color)}.form-section{background-color:var(--bg-color);border-radius:var(--border-radius);padding:1rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.form-section-title{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group .label-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.label-with-action label{margin-bottom:0}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;font-size:.9rem}.btn-text{background:none;border:none;color:var(--text-light);font-size:.85rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background-color .2s,color .2s}.btn-text:hover{background-color:var(--border-color);color:var(--primary-color)}.btn-text-clear{background:none;border:1px solid var(--border-color);color:var(--text-light);font-size:.85rem;font-weight:600;cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:all .2s;display:block;margin-top:.75rem;width:100%}.btn-text-clear:hover{background-color:var(--bg-app);color:var(--accent-color);border-color:var(--secondary-color)}.input-group{display:flex;gap:.5rem}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:var(--font-family);transition:border-color .2s,box-shadow .2s;background-color:#fdfcff;color:var(--text-color)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--secondary-color)}textarea.form-control{min-height:120px;resize:vertical}.btn{padding:.75rem 1rem;border-radius:8px;border:none;font-size:1rem;font-weight:700;font-family:var(--font-family);cursor:pointer;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff;width:100%;padding:1rem;border-radius:var(--border-radius);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.btn-primary:hover:not(:disabled){background-color:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.btn:disabled,.btn-primary:disabled{opacity:.9;cursor:wait;transform:none;box-shadow:none;background-color:var(--primary-color-dark)}.btn-secondary{background-color:var(--secondary-color);color:var(--primary-color);flex-shrink:0}.btn-secondary:hover:not(:disabled){background-color:var(--accent-color);color:#fff}.checkbox-group{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:var(--bg-app);border-radius:8px;border:1px solid var(--border-color)}.checkbox-group label{display:flex;align-items:center;cursor:pointer;margin:0}.checkbox-group input[type=checkbox]{width:20px;height:20px;margin-right:.75rem;accent-color:var(--primary-color)}.checkbox-group .price{font-weight:600;color:var(--text-color)}.image-preview-container{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:.75rem;background-color:var(--bg-app);border-radius:8px;border:1px solid var(--border-color);margin-bottom:.75rem}.image-preview-item-wrapper{position:relative;flex-shrink:0}.image-preview-thumbnail{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px;border:2px solid var(--border-color)}.delete-image-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;background-color:var(--accent-color);color:#fff;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:scale(.5)}.image-preview-item-wrapper:hover .delete-image-btn{opacity:1;transform:scale(1)}.delete-image-btn:hover{transform:scale(1.1) rotate(90deg)}.image-upload-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem}.btn-delete-all{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--accent-color);background-color:transparent;color:var(--accent-color);font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease;margin-right:auto}.btn-delete-all:hover{background-color:var(--accent-color);color:#fff}.image-upload-actions .custom-file-upload-small{width:60px;height:60px;flex-shrink:0;border:2px dashed var(--border-color);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:2rem;color:var(--text-light);transition:all .2s ease}.image-upload-actions .custom-file-upload-small:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#ede9f6}.image-content-editor-wrapper{margin-top:1rem}.ai-suggestion-box{background-color:var(--bg-app);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.text-suggestion-box{margin-top:1rem;margin-bottom:0}.ai-suggestion-box p{font-weight:600;font-size:.9rem;margin-bottom:.75rem}.suggestion-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-suggestion{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--secondary-color);background-color:#fff;color:var(--primary-color);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn-suggestion:hover:not(:disabled){background-color:var(--secondary-color);border-color:var(--primary-color);transform:translateY(-1px)}.btn-suggestion:disabled{opacity:.7;cursor:not-allowed}.spinner-small{width:14px;height:14px;border:2px solid var(--primary-color);border-radius:50%;border-top-color:transparent;animation:gl-spin 1s ease-in-out infinite}.custom-file-upload{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-align:center;transition:all .2s ease-in-out;background-color:var(--bg-app)}.custom-file-upload:hover{border-color:var(--primary-color);background-color:#ede9f6;transform:translateY(-2px);box-shadow:var(--shadow)}.upload-icon{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem}.upload-text{font-weight:700;color:var(--primary-color);font-size:1rem}.upload-hint{font-size:.8rem;color:var(--text-light);margin-top:.25rem}.file-input-container input[type=file]{display:none}.file-preview-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.file-preview-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;background-color:var(--bg-app);padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-color);color:var(--text-light)}.file-preview-item .file-icon{color:var(--primary-color);font-size:1.2rem}.collapsible-section summary{font-weight:700;font-size:1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background-color:var(--bg-app);border-radius:8px;border:1px solid var(--border-color);transition:background-color .2s}.collapsible-section summary:hover{background-color:#ede9f6}.collapsible-section summary::marker,.collapsible-section summary::-webkit-details-marker{display:none}.collapsible-section .arrow-down{transition:transform .2s ease-in-out}.collapsible-section[open]>summary .arrow-down{transform:rotate(180deg)}.image-content-editor{display:flex;flex-direction:column;gap:1rem;max-height:250px;overflow-y:auto;padding-right:.5rem}.image-content-group{display:flex;align-items:center;gap:.75rem}.image-content-group .btn-text{flex-shrink:0}.image-content-thumbnail{width:50px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0}.image-content-group textarea.form-control{min-height:50px;resize:vertical}.success-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem 0;position:relative;overflow:hidden}.success-container.animate h2{animation:gl-success-header-pop .8s cubic-bezier(.25,1,.5,1) .2s forwards;opacity:0}.success-container h2{font-size:1.75rem;margin-bottom:1rem;color:var(--primary-color)}.success-container p{font-size:1rem;color:var(--text-light);margin-bottom:1.5rem;max-width:95%}.success-container .btn{margin-top:.75rem;width:100%}.share-link-container{display:flex;width:100%;margin-top:1rem;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--bg-app);align-items:center;padding:.25rem .25rem .25rem .75rem}.share-link-text{flex-grow:1;font-size:.9rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:monospace}.copy-button{background-color:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-light);transition:background-color .2s,color .2s;flex-shrink:0}.copy-button:hover{background-color:var(--border-color);color:var(--primary-color)}.copy-button svg{transition:transform .2s ease-in-out}.copy-button:active svg{transform:scale(.9)}.qr-code{width:180px;height:180px;border-radius:var(--border-radius);border:4px solid white;box-shadow:0 4px 15px #ad82d933;margin-bottom:1rem}.qr-code-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.qr-code-wrapper .qr-code{margin-bottom:0}.qr-download-btn{margin-top:.5rem;background-color:transparent;color:var(--text-light);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,transform .2s,color .2s}.qr-download-btn:hover{background-color:var(--border-color);color:var(--primary-color);transform:scale(1.1)}.qr-download-btn svg{width:24px;height:24px}.back-button{background:none;border:none;color:var(--text-light);font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem}.animation-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;overflow:hidden;display:flex;justify-content:center;align-items:center;perspective:1000px}.animation-back-button{position:absolute;top:20px;left:20px;z-index:1000;background:#ffffff1a;border:1px solid rgba(255,255,255,.5);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-family:var(--font-family);font-size:1rem;font-weight:600;transition:background-color .2s,transform .2s}.animation-back-button:hover{background:#fff3;transform:scale(1.05)}.play-music-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;cursor:pointer;animation:gl-fade-in .5s ease-out}.play-music-button{width:100px;height:100px;background:#ffffff1a;border:2px solid rgba(255,255,255,.8);border-radius:50%;display:flex;justify-content:center;align-items:center;transition:transform .2s ease-out,background-color .2s}.play-music-overlay:hover .play-music-button{transform:scale(1.1);background:#fff3}.play-music-button svg{width:50px;height:50px;margin-left:8px}.play-music-text{color:#fff;font-size:1.2rem;margin-top:1.5rem;font-weight:600;text-shadow:0 1px 5px rgba(0,0,0,.5)}.content-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:90%;max-width:450px;opacity:0;transition:opacity 1s ease-in-out;max-height:85vh}.content-wrapper.visible{opacity:1}.centered-image{max-width:40vw;max-height:35vh;object-fit:contain;border-radius:12px;box-shadow:0 0 25px #fff9;border:3px solid white;margin-bottom:20px;flex-shrink:0}.content-wrapper.visible .centered-image{animation:gl-image-appear 1.2s cubic-bezier(.25,1,.5,1) forwards}.text-container{width:80%;overflow:hidden;flex-shrink:1;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}.centered-text{color:#fff;font-size:1.5rem;text-shadow:0 0 10px rgba(233,30,99,.9);text-align:center;width:100%;font-weight:700}.content-wrapper.visible .centered-text{animation:gl-cinematic-scroll linear infinite}.text-line{display:block;margin-bottom:.3em}.nebula-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.nebula{position:absolute;border-radius:50%;filter:blur(80px);mix-blend-mode:screen;opacity:.5;animation:gl-nebula-drift 60s infinite alternate ease-in-out}.nebula-1{width:80vmax;height:80vmax;top:-20%;left:-20%;background:radial-gradient(circle,#5a0066,transparent 60%);animation-duration:55s}.nebula-2{width:70vmax;height:70vmax;bottom:-30%;right:-25%;background:radial-gradient(circle,#002b6b,transparent 60%);animation-duration:65s;animation-delay:-10s}.nebula-3{width:60vmax;height:60vmax;top:10%;right:-15%;background:radial-gradient(circle,#7e0031,transparent 60%);animation-duration:70s;animation-delay:-5s}.parallax-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%;animation:gl-parallax-move linear infinite}.parallax-layer-far{animation-duration:240s}.parallax-layer-medium{animation-duration:180s}.parallax-layer-near{animation-duration:120s}.deep-space-star{position:absolute;background-color:#fff;border-radius:50%;box-shadow:0 0 4px #fff,0 0 2px #fff}.heart-canvas{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:1px;height:1px;z-index:10}.heart-particle{position:absolute;left:0;top:0;width:var(--particle-size);height:var(--particle-size);background:#e91e63;border-radius:50%;will-change:transform,opacity;opacity:1;box-shadow:0 0 8px #e91e63,0 0 12px #e91e63,0 0 16px #c2185b;transform:translate(var(--target-x),var(--target-y));animation:gl-twinkle 3s ease-in-out var(--twinkle-delay) infinite}.rising-particles-container{position:absolute;bottom:10%;left:50%;width:1px;height:1px;z-index:5}.rising-particle{position:absolute;will-change:transform,opacity;opacity:0;text-shadow:0 0 6px currentColor;animation:gl-rise-up var(--duration) ease-out infinite}.fireflies-container{position:absolute;bottom:0;left:0;width:100%;height:33.33%;z-index:3;pointer-events:none;overflow:hidden}.firefly{position:absolute;bottom:-5%;width:var(--particle-size);height:var(--particle-size);background:#7afcff;border-radius:50%;box-shadow:0 0 6px #7afcff,0 0 10px #7afcff,0 0 14px #00e1ff;animation:gl-firefly-swirl-rise linear infinite;opacity:0}.glowing-wave-container{position:absolute;bottom:0;left:0;width:100%;height:5vh;z-index:5;pointer-events:none;overflow:hidden}.wave{position:absolute;left:-100%;width:200%;height:150px;background:#7afcff1a;border-radius:50%;animation:gl-animate-wave linear infinite;box-shadow:0 0 15px #7afcff80,0 0 25px #00f2ff66}.wave.wave1{animation-duration:12s;opacity:1;bottom:0}.wave.wave2{animation-duration:18s;opacity:.6;bottom:10px}.wave.wave3{animation-duration:25s;opacity:.3;bottom:15px}.grand-fireworks-text-overlay{position:absolute;top:25%;left:50%;transform:translate(-50%);color:#fff;font-size:2.5rem;font-weight:800;text-align:center;width:90%;text-shadow:0 0 15px rgba(255,255,255,.8),0 0 25px rgba(233,30,99,.7);animation:gl-fireworks-text-fade 4s ease-in-out;pointer-events:none;z-index:10}.interaction-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;width:90%;max-width:350px;background:#0a0a14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius);padding:1.25rem;color:#fff;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 8px 32px #0000005e;animation:gl-card-fade-in .5s cubic-bezier(.165,.84,.44,1)}.interaction-card img{width:100%;max-height:50vh;object-fit:contain;border-radius:8px}.interaction-card p{font-size:1.1rem;text-align:center;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.5)}.interaction-card button{background:#ffffff1a;border:1px solid rgba(255,255,255,.5);color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-family:var(--font-family);font-size:1rem;font-weight:600;transition:background-color .2s}.interaction-card button:hover{background:#fff3}.interaction-card p.animated-text{white-space:pre-wrap;word-break:break-word}.interaction-card p.animated-text span{display:inline-block;opacity:0;transform:translateY(1em);animation:gl-text-reveal .6s forwards cubic-bezier(.2,.8,.2,1)}.spinner-container{display:flex;align-items:center;justify-content:center;gap:.75rem}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:gl-spin 1s ease-in-out infinite}.progress-bar-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000001a;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius)}.progress-bar{position:absolute;top:0;left:0;height:100%;background-color:var(--secondary-color);transition:width .2s ease-out;border-radius:var(--border-radius)}.progress-text{position:relative;z-index:1;color:var(--primary-color);font-weight:700;text-shadow:0 1px 1px rgba(255,255,255,.5)}.confirm-container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem 0}.confirm-container h2{font-size:1.75rem;margin-bottom:1rem;color:var(--primary-color)}.confirm-container p{font-size:1rem;color:var(--text-light);margin-bottom:2rem;max-width:350px}.confirm-actions{width:100%;display:flex;flex-direction:column;gap:.75rem}.confirm-actions .btn{margin:0}.edit-btn{background-color:var(--bg-app);color:var(--text-color);border:1px solid var(--border-color)}.edit-btn:hover:not(:disabled){background-color:var(--border-color);color:var(--text-color)}.payment-container{display:flex;flex-direction:column;align-items:center;text-align:center}.payment-container .qr-code{margin-top:1rem}.countdown-timer{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:1rem 0;background-color:var(--bg-app);padding:.5rem 1rem;border-radius:8px}.payment-instructions{background-color:var(--error-bg-color);border:1px solid var(--error-color);color:var(--error-color);padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.payment-instructions strong{color:var(--error-color)}.payment-form{width:100%}.processing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;gap:1rem}.gear-spinner{width:80px;height:80px;border:5px solid var(--secondary-color);border-top-color:var(--primary-color);border-radius:50%;animation:gl-spin 1.5s linear infinite}.processing-container h3{font-size:1.5rem;color:var(--primary-color)}.processing-container p{color:var(--text-light)}.social-links{margin-top:2rem;display:flex;gap:1.5rem;align-items:center}.social-links a{display:block;transition:transform .2s ease-out}.social-links a:hover{transform:scale(1.1)}.social-links img{width:40px;height:40px}.zalo-btn{display:flex;align-items:center;gap:.75rem;padding-left:1rem!important;padding-right:1rem!important}.zalo-btn img{width:24px;height:24px}.pending-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;gap:1rem;background-color:var(--bg-color);position:fixed;top:0;left:0;width:100%;height:100%;z-index:100}.pending-icon{font-size:4rem;animation:gl-pending-bounce 2s infinite ease-in-out}.pending-container h2{font-size:1.75rem;color:var(--primary-color)}.pending-container p{color:var(--text-light);max-width:350px;margin-bottom:1rem}.admin-view-wrapper{background-color:var(--bg-app);min-height:100vh;padding-bottom:2rem}.admin-login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.admin-login-container h2{font-size:2rem;color:var(--primary-color);margin-bottom:1rem}.admin-container{max-width:700px;margin:0 auto;padding:0 1rem}.admin-sticky-header{background-color:#f5f3f9d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:1rem;position:sticky;top:0;z-index:10;margin:0 -1rem;border-bottom:1px solid var(--border-color)}.admin-header-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-header-controls h2{font-size:1.5rem;color:var(--primary-color)}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-light)}.admin-search-form{display:flex;gap:.5rem}.admin-search-form .btn-text{height:auto}.error-message-inline{color:var(--error-color);font-size:.9rem;margin-top:.5rem;text-align:center}.admin-section{margin-top:1.5rem}.admin-section-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--text-color)}.admin-gift-list{display:grid;gap:1rem}.admin-gift-card{background-color:var(--bg-color);border-radius:var(--border-radius);padding:1rem;box-shadow:0 2px 8px #0000000d;border:1px solid var(--border-color)}.gift-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;font-size:.9rem;margin-bottom:1rem}.gift-card-grid-item{display:flex;flex-direction:column;word-break:break-word}.gift-card-grid-item.full-width{grid-column:1 / -1}.gift-card-grid-item strong{font-weight:600;color:var(--text-light);margin-bottom:.25rem;font-size:.8rem;text-transform:uppercase}.admin-card-footer{border-top:1px solid var(--border-color);padding-top:1rem;display:flex;justify-content:space-between;align-items:center}.status-toggle{display:flex;align-items:center;gap:.75rem}.status-text{font-weight:700;font-size:.9rem}.status-text.paid{color:var(--success-color)}.status-text.not-paid{color:var(--error-color)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--success-color)}input:checked+.slider:before{transform:translate(20px)}.admin-card-actions{display:flex;gap:.5rem}.btn-admin-action{background:var(--bg-app);border:1px solid var(--border-color);border-radius:6px;padding:.5rem;color:var(--text-light);cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.8rem;transition:all .2s ease}.btn-admin-action:hover{background:var(--border-color);color:var(--primary-color)}.btn-admin-action.delete:hover{background-color:var(--error-bg-color);color:var(--error-color);border-color:var(--error-color)}.admin-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background-color:var(--success-color);color:#fff;padding:.75rem 1.5rem;border-radius:8px;box-shadow:var(--shadow);z-index:1000;animation:gl-fade-in-out 3s ease-in-out}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;animation:gl-fade-in .3s}.confirm-modal-content{background:var(--bg-color);padding:1.5rem;border-radius:var(--border-radius);width:90%;max-width:400px;text-align:center;animation:gl-success-header-pop .4s}.confirm-modal-content h3{margin-bottom:.75rem;color:var(--text-color)}.confirm-modal-content p{color:var(--text-light);margin-bottom:1.5rem}.confirm-modal-actions{display:flex;gap:1rem;justify-content:center}.btn-danger{background-color:var(--error-color)}.btn-danger:hover:not(:disabled){background-color:#c62828}.footer{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-light)}.footer p{margin:0;flex-grow:1;text-align:center}.footer a{color:var(--primary-color);text-decoration:none;font-weight:600}.footer a:hover{text-decoration:underline}.footer-action-btn{background:none;border:1px solid var(--border-color);color:var(--text-light);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.5rem;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0 0 2px}.footer-action-btn:hover{background-color:var(--bg-app);color:var(--primary-color);transform:scale(1.1)}.footer-placeholder{width:32px;height:32px}.globe-animation-container{position:fixed;top:0;left:0;width:100vw;height:100vh;margin:0;overflow:hidden;font-family:Lato,sans-serif;background-color:#000;color:#fff;-webkit-user-select:none;-ms-user-select:none;user-select:none}.globe-animation-container .world{position:absolute;width:100%;height:100%;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.globe-animation-container .world:active{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.globe-animation-container .world-bg{position:absolute;width:100%;height:100%;background-position:50% 50%;background-size:cover}.globe-animation-container .world-globe{position:absolute;left:50%;top:50%;width:0;height:0}.globe-animation-container .world-globe-pole{position:absolute;width:530px;height:530px;left:-265px;top:-265px;border-radius:50%;background-color:#fff}.globe-animation-container .world-globe-doms-container{position:absolute;left:50%;top:50%;width:0;height:0}.globe-animation-container .world-globe-halo{position:absolute;left:50%;top:50%;width:730px;height:715px;margin-left:-368px;margin-top:-350px}*,*:after,*:before{padding:0;margin:0;box-sizing:border-box}:root{--dark-color: #0d0a21}.valentine-flower-container{display:flex;align-items:flex-end;justify-content:center;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--dark-color);overflow:hidden;perspective:1000px;font-family:Quicksand,serif;font-optical-sizing:auto;z-index:999}.text{font-size:clamp(2rem,30vw,3.4rem);width:100%;text-align:center;color:#f0e8ff;text-shadow:0 0 8px rgba(230,200,255,.7),0 0 16px rgba(230,200,255,.4);position:absolute;top:15%;left:50%;transform:translate(-50%,-50%);z-index:1;opacity:0;animation:fade-text 2s forwards,elegantGlow 3s infinite ease-in-out}@keyframes elegantGlow{0%,to{text-shadow:0 0 8px rgba(230,200,255,.7),0 0 16px rgba(230,200,255,.4)}50%{text-shadow:0 0 12px rgba(255,179,236,.9),0 0 24px rgba(255,125,222,.8)}}@keyframes fade-text{50%{opacity:0}to{opacity:1}}.night{position:fixed;left:50%;top:0;transform:translate(-50%);width:100%;height:100%;filter:blur(.1vmin);background-image:radial-gradient(ellipse at 50% 70%,#1a143d 0%,var(--dark-color) 60%),radial-gradient(ellipse at top,transparent 0%,var(--dark-color)),radial-gradient(ellipse at bottom,var(--dark-color),rgba(148,127,255,.15))}.flowers{position:relative;transform:scale(.9)}.flower{position:absolute;bottom:10vmin;transform-origin:bottom center;z-index:10;--fl-speed: .8s}.flower--1 .flower__line__leaf--1{animation:blooming-leaf-right var(--fl-speed) 1.6s backwards}.flower--1{animation:moving-flower-1 5s linear infinite}.flower--1 .flower__line{height:70vmin;animation-delay:.3s}.flower--1 .flower__line__leaf--2{animation:blooming-leaf-right var(--fl-speed) 1.4s backwards}.flower--1 .flower__line__leaf--3{animation:blooming-leaf-left var(--fl-speed) 1.2s backwards}.flower--1 .flower__line__leaf--4{animation:blooming-leaf-left var(--fl-speed) 1s backwards}.flower--1 .flower__line__leaf--5{animation:blooming-leaf-right var(--fl-speed) 1.8s backwards}.flower--1 .flower__line__leaf--6{animation:blooming-leaf-left var(--fl-speed) 2s backwards}.flower--2{left:50%;transform:rotate(20deg);animation:moving-flower-2 6s linear infinite}.flower--2 .flower__line{height:60vmin;animation-delay:.6s}.flower--2 .flower__line__leaf--1{animation:blooming-leaf-right var(--fl-speed) 1.9s backwards}.flower--2 .flower__line__leaf--2{animation:blooming-leaf-right var(--fl-speed) 1.7s backwards}.flower--2 .flower__line__leaf--3{animation:blooming-leaf-left var(--fl-speed) 1.5s backwards}.flower--2 .flower__line__leaf--4{animation:blooming-leaf-left var(--fl-speed) 1.3s backwards}.flower--3{left:50%;transform:rotate(-15deg);animation:moving-flower-3 5.5s linear infinite}.flower--3 .flower__line{animation-delay:.9s}.flower--3 .flower__line__leaf--1{animation:blooming-leaf-right var(--fl-speed) 2.5s backwards}.flower--3 .flower__line__leaf--2{animation:blooming-leaf-right var(--fl-speed) 2.3s backwards}.flower--3 .flower__line__leaf--3{animation:blooming-leaf-left var(--fl-speed) 2.1s backwards}.flower--3 .flower__line__leaf--4{animation:blooming-leaf-left var(--fl-speed) 1.9s backwards}.flower__leafs{position:relative;animation:blooming-flower 2s backwards}.flower__leafs--1{animation-delay:1.1s}.flower__leafs--2{animation-delay:1.4s}.flower__leafs--3{animation-delay:1.7s}.flower__leafs:after{content:"";position:absolute;left:0;top:0;transform:translate(-50%,-100%);width:8vmin;height:8vmin;background-color:#ffc8f5;filter:blur(12vmin)}.flower__leaf{position:absolute;bottom:0;left:50%;width:7vmin;height:10vmin;border-radius:50% 50% 20% 20%/80% 80% 20% 20%;background-image:linear-gradient(to top,#b879d7,#f2c1ff);transform-origin:bottom center;opacity:.9;box-shadow:inset 0 0 1.5vmin #fff9}.flower__leaf--1{transform:translate(-30%,5%) rotate(-25deg) rotateY(40deg) rotateX(-30deg)}.flower__leaf--2{width:8vmin;height:11vmin;transform:translate(-50%) rotateX(20deg) scale(1.1);background-image:linear-gradient(to top,#a164c3,#e5aeff)}.flower__leaf--3{transform:translate(-70%,5%) rotate(25deg) rotateY(-40deg) rotateX(-30deg)}.flower__leaf--4{display:none}.flower__white-circle{position:absolute;left:-2vmin;top:-1.5vmin;width:6vmin;height:6vmin;border-radius:50%;background-color:transparent}.flower__white-circle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:inherit;background-image:radial-gradient(circle,#fffde4 20%,pink 80%);box-shadow:0 0 10px #fffde4,0 0 15px pink;animation:pulse-stamen 3s infinite ease-in-out}@keyframes pulse-stamen{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1}}.flower__line{height:55vmin;width:1.5vmin;background-image:linear-gradient(to left,rgba(0,0,0,.2),transparent,rgba(255,255,255,.2)),linear-gradient(to top,transparent 10%,#1c3a3a,#3c6e6e);box-shadow:inset 0 0 2px #00000080;animation:grow-flower-tree 4s backwards;border-radius:1.5vmin 1.5vmin 0 0}.flower__line__leaf{--w: 7vmin;--h: calc(var(--w) + 1vmin);position:absolute;top:20%;left:90%;width:var(--w);height:var(--h);border-radius:20% 80% 30% 70%/50% 70% 30% 50%;background-image:linear-gradient(to top,#1c3a3a66,#4a8282)}.flower__line__leaf--1{transform:rotate(50deg) rotateY(30deg)}.flower__line__leaf--2{top:45%;transform:rotate(60deg) rotateY(30deg)}.flower__line__leaf--3,.flower__line__leaf--4,.flower__line__leaf--6{left:-460%;top:12%;transform:rotate(-50deg) rotateY(30deg)}.flower__line__leaf--4{top:40%;transform:rotate(-60deg) rotateY(30deg)}.flower__line__leaf--5{top:0;transform-origin:left;transform:rotate(50deg) rotateY(30deg) scale(.6)}.flower__line__leaf--6{top:-2%;left:-450%;transform-origin:right;transform:rotate(-50deg) rotateY(30deg) scale(.6)}.flower__light{position:absolute;bottom:0vmin;width:1vmin;height:1vmin;background-color:#ffefd5;border-radius:50%;filter:blur(.2vmin);animation:light-ans 4s linear infinite backwards}.flower__light:nth-child(odd){background-color:#ffcce7}.flower__light--1{left:-2vmin;animation-delay:1s}.flower__light--2{left:3vmin;animation-delay:.5s}.flower__light--3{left:-6vmin;animation-delay:.3s}.flower__light--4{left:6vmin;animation-delay:.9s}.flower__light--5{left:-1vmin;animation-delay:1.5s}.flower__light--6{left:-4vmin;animation-delay:3s}.flower__light--7{left:3vmin;animation-delay:2s}.flower__light--8{left:-6vmin;animation-delay:3.5s}.flower__grass{--c: #2c4e4b;--line-w: 1.5vmin;position:absolute;bottom:12vmin;left:-7vmin;display:flex;flex-direction:column;align-items:flex-end;z-index:20;transform-origin:bottom center;transform:rotate(-48deg) rotateY(40deg)}.flower__grass--1{animation:moving-grass 2s linear infinite}.flower__grass--2{left:2vmin;bottom:10vmin;transform:scale(.5) rotate(75deg) rotateX(10deg) rotateY(-200deg);opacity:.8;z-index:0;animation:moving-grass--2 1.5s linear infinite}.flower__grass--top{width:7vmin;height:10vmin;border-top-right-radius:100%;border-right:var(--line-w) solid var(--c);transform-origin:bottom center;transform:rotate(-2deg)}.flower__grass--bottom{margin-top:-2px;width:var(--line-w);height:25vmin;background-image:linear-gradient(to top,transparent,var(--c))}.flower__grass__leaf{--size: 10vmin;position:absolute;width:calc(var(--size) * 2.1);height:var(--size);border-top-left-radius:var(--size);border-top-right-radius:var(--size);background-image:linear-gradient(to top,transparent,transparent 30%,var(--c));z-index:100}.flower__grass__leaf--1{top:-6%;left:30%;--size: 6vmin;transform:rotate(-20deg);animation:growing-grass-ans--1 2s 2.6s backwards}.flower__grass__leaf--2{top:-5%;left:-110%;--size: 6vmin;transform:rotate(10deg);animation:growing-grass-ans--2 2s 2.4s linear backwards}.flower__grass__leaf--3{top:5%;left:60%;--size: 8vmin;transform:rotate(-18deg) rotateX(-20deg);animation:growing-grass-ans--3 2s 2.2s linear backwards}.flower__grass__leaf--4{top:6%;left:-135%;--size: 8vmin;transform:rotate(2deg);animation:growing-grass-ans--4 2s 2s linear backwards}.flower__grass__leaf--5{top:20%;left:60%;--size: 10vmin;transform:rotate(-24deg) rotateX(-20deg);animation:growing-grass-ans--5 2s 1.8s linear backwards}.flower__grass__leaf--6{top:22%;left:-180%;--size: 10vmin;transform:rotate(10deg);animation:growing-grass-ans--6 2s 1.6s linear backwards}.flower__grass__leaf--7{top:39%;left:70%;--size: 10vmin;transform:rotate(-10deg);animation:growing-grass-ans--7 2s 1.4s linear backwards}.flower__grass__leaf--8{top:40%;left:-215%;--size: 11vmin;transform:rotate(10deg);animation:growing-grass-ans--8 2s 1.2s linear backwards}.flower__grass__overlay{display:none}@keyframes growing-grass-ans--1{0%{transform-origin:bottom left;transform:rotate(-20deg) scale(0)}}@keyframes growing-grass-ans--2{0%{transform-origin:bottom right;transform:rotate(10deg) scale(0)}}@keyframes growing-grass-ans--3{0%{transform-origin:bottom left;transform:rotate(-18deg) rotateX(-20deg) scale(0)}}@keyframes growing-grass-ans--4{0%{transform-origin:bottom right;transform:rotate(2deg) scale(0)}}@keyframes growing-grass-ans--5{0%{transform-origin:bottom left;transform:rotate(-24deg) rotateX(-20deg) scale(0)}}@keyframes growing-grass-ans--6{0%{transform-origin:bottom right;transform:rotate(10deg) scale(0)}}@keyframes growing-grass-ans--7{0%{transform-origin:bottom left;transform:rotate(-10deg) scale(0)}}@keyframes growing-grass-ans--8{0%{transform-origin:bottom right;transform:rotate(10deg) scale(0)}}.flower__g-long,.flower__g-right,.flower__g-front,.flower__g-fr{display:none}.long-g .leaf{--w: 15vmin;--h: 40vmin;--c: #1f4a4a;position:absolute;bottom:0;width:var(--w);height:var(--h);border-top-left-radius:100%;border-left:1vmin solid var(--c);-webkit-mask-image:linear-gradient(to top,transparent 10%,#000 70%);transform-origin:bottom center}.long-g--0,.long-g--1,.long-g--2,.long-g--3,.long-g--4,.long-g--5,.long-g--6,.long-g--7{position:absolute;bottom:0}.long-g--0{left:-42vmin;transform:rotate(5deg)}.long-g--1{left:-30vmin;transform:scale(.8) rotate(-5deg)}.long-g--2{left:-15vmin;transform:scale(.6) rotate(8deg)}.long-g--3{left:0vmin;transform:scale(.7) rotate(-3deg)}.long-g--4{left:15vmin;transform:scale(.65) rotate(10deg)}.long-g--5{left:30vmin;transform:scale(.85) rotate(-8deg)}.long-g--6{left:45vmin;transform:scale(.9) rotate(4deg);z-index:-1}.long-g--7{display:none}.long-g .leaf--0{left:2vmin;animation:leaf-ans-1 6s linear infinite}.long-g .leaf--1{--w: 5vmin;--h: 60vmin;animation:leaf-ans-1 8s linear infinite}.long-g .leaf--2{--w: 10vmin;--h: 40vmin;left:-.5vmin;bottom:5vmin;transform-origin:bottom left;transform:rotateY(-180deg);animation:leaf-ans-2 7s linear infinite}.long-g .leaf--3{--w: 5vmin;--h: 30vmin;left:-1vmin;bottom:3.2vmin;transform-origin:bottom left;transform:rotate(-10deg) rotateY(-180deg);animation:leaf-ans-3 5s linear infinite}@keyframes leaf-ans-1{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}@keyframes leaf-ans-2{0%,to{transform:rotateY(-180deg) rotate(5deg)}50%{transform:rotateY(-180deg) rotate(0) scale(1.05)}}@keyframes leaf-ans-3{0%,to{transform:rotate(-10deg) rotateY(-180deg)}50%{transform:rotate(-15deg) rotateY(-180deg)}}.grow-ans{animation:grow-ans 2s var(--d) backwards}@keyframes grow-ans{0%{transform:scale(0);opacity:0}}@keyframes light-ans{0%{opacity:0;transform:translateY(0)}25%{opacity:1;transform:translateY(-5vmin) translate(-2vmin)}50%{opacity:1;transform:translateY(-15vmin) translate(2vmin);filter:blur(.2vmin)}75%{transform:translateY(-20vmin) translate(-2vmin);filter:blur(.2vmin)}to{transform:translateY(-30vmin);opacity:0;filter:blur(1vmin)}}@keyframes moving-flower-1{0%,to{transform:rotate(1.5deg)}50%{transform:rotate(-1.5deg)}}@keyframes moving-flower-2{0%,to{transform:rotate(18deg) rotateY(5deg)}50%{transform:rotate(15deg) rotateY(-5deg)}}@keyframes moving-flower-3{0%,to{transform:rotate(-15deg) rotateY(-5deg)}50%{transform:rotate(-18deg) rotateY(5deg)}}@keyframes blooming-leaf-right{0%{transform-origin:left;transform:rotate(70deg) rotateY(30deg) scale(0)}}@keyframes blooming-leaf-left{0%{transform-origin:right;transform:rotate(-70deg) rotateY(30deg) scale(0)}}@keyframes grow-flower-tree{0%{height:0;border-radius:1vmin}}@keyframes blooming-flower{0%{transform:scale(0)}}@keyframes moving-grass{0%,to{transform:rotate(-48deg) rotateY(40deg)}50%{transform:rotate(-50deg) rotateY(40deg)}}@keyframes moving-grass--2{0%,to{transform:scale(.5) rotate(75deg) rotateX(10deg) rotateY(-200deg)}50%{transform:scale(.5) rotate(79deg) rotateX(10deg) rotateY(-200deg)}}.growing-grass{animation:growing-grass-ans 1s 2s backwards}@keyframes growing-grass-ans{0%{transform:scale(0)}}.not-loaded *{animation-play-state:paused!important}.interactive-firefly{position:fixed;width:8px;height:8px;pointer-events:none;animation:firefly-fly-up 2.5s ease-out forwards;z-index:1000}.interactive-firefly:before{content:"";position:absolute;width:100%;height:100%;background-color:#ffd1e9;border-radius:50%;box-shadow:0 0 8px #ffd1e9,0 0 12px #ffd1e9,0 0 16px #ff8ccb;animation:firefly-core-fade 2.5s ease-out forwards}@keyframes firefly-fly-up{0%{transform:translate(-50%,-50%) rotate(0);opacity:1}60%{transform:translate(calc(-50% - 20px),calc(-50% - 250px)) rotate(-20deg);opacity:1}to{transform:translate(calc(-50% - 25px),calc(-50% - 260px)) rotate(-25deg);opacity:0}}@keyframes firefly-core-fade{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}60%{opacity:0;transform:scale(.5)}to{opacity:0;transform:scale(0)}}.heart-burst{position:absolute;top:50%;left:50%;width:1px;height:1px}.heart-burst .particle{position:absolute;top:0;left:0;width:10px;height:10px;background:#ff7eb9;border-radius:50%;box-shadow:0 0 6px #ff7eb9,0 0 10px #e149c1;opacity:0;animation:heart-explode 1s ease-out forwards;animation-delay:1.45s}@keyframes heart-explode{0%{transform:translate(-50%,-50%) scale(0);opacity:0}30%{opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.heart-burst .particle:nth-child(1){--tx: 0px;--ty: -45px}.heart-burst .particle:nth-child(2){--tx: 30px;--ty: -30px}.heart-burst .particle:nth-child(3){--tx: 40px;--ty: 0px}.heart-burst .particle:nth-child(4){--tx: 20px;--ty: 30px}.heart-burst .particle:nth-child(5){--tx: 0px;--ty: 40px}.heart-burst .particle:nth-child(6){--tx: -20px;--ty: 30px}.heart-burst .particle:nth-child(7){--tx: -40px;--ty: 0px}.heart-burst .particle:nth-child(8){--tx: -30px;--ty: -30px}.flower--bud .flower__leafs{animation:none;transform:scale(.6) translateY(3vmin)}.flower--bud .flower__leaf--1{transform:translate(-30%,15%) rotate(-15deg) rotateY(20deg) rotateX(-10deg)}.flower--bud .flower__leaf--2{transform:translate(-50%,10%) rotateX(10deg) scale(.9)}.flower--bud .flower__leaf--3{transform:translate(-70%,15%) rotate(15deg) rotateY(-20deg) rotateX(-10deg)}.flower--bud .flower__white-circle,.flower--bud .flower__light{display:none}.small-flower{position:absolute;bottom:5vmin;transform-origin:bottom center}.small-flower--1{left:-20vmin;transform:scale(.6) rotate(-10deg);z-index:21}.small-flower--2{right:-25vmin;transform:scale(.7) rotate(15deg)}.small-flower--3{left:10vmin;bottom:3vmin;transform:scale(.5);z-index:22}.small-flower__stem{width:.8vmin;height:10vmin;background-image:linear-gradient(to top,#1f4a4a,#3c6e6e);border-radius:1vmin}.small-flower__head{position:relative;width:6vmin;height:6vmin;top:-9vmin;left:-2.6vmin;animation:small-flower-sway 5s infinite ease-in-out}@keyframes small-flower-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.small-flower__petal{position:absolute;width:3.5vmin;height:3.5vmin;background:#fce1ff;border-radius:50% 0;box-shadow:inset .2vmin .2vmin .5vmin #b879d780}.small-flower__petal:nth-child(1){transform:rotate(0) translate(1.5vmin)}.small-flower__petal:nth-child(2){transform:rotate(72deg) translate(1.5vmin)}.small-flower__petal:nth-child(3){transform:rotate(144deg) translate(1.5vmin)}.small-flower__petal:nth-child(4){transform:rotate(216deg) translate(1.5vmin)}.small-flower__petal:nth-child(5){transform:rotate(288deg) translate(1.5vmin)}.small-flower__center{position:absolute;width:2vmin;height:2vmin;background:#fffde4;border-radius:50%;top:2vmin;left:2vmin;box-shadow:0 0 5px #fffde4}.g-container{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;background:radial-gradient(ellipse at bottom,#1b2735,#090a0f);perspective:1000px}.g-background{position:absolute;width:100%;height:100%;top:0;left:0}.g-particle{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;opacity:0;transform:scale(var(--s));top:var(--y);left:var(--l);animation:g-twinkle var(--d) var(--dl) ease-in-out infinite}@keyframes g-twinkle{0%,to{opacity:0}50%{opacity:.8}}.g-petals-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.g-petal{position:absolute;top:-20px;left:var(--l);width:15px;height:15px;background-color:#ffb6c1;border-radius:1px 50%;opacity:0;transform:scale(var(--s)) rotate(var(--r));box-shadow:0 0 5px #ffb6c1,0 0 10px #ff69b4;animation:g-fall var(--d) var(--dl) linear infinite}@keyframes g-fall{0%{transform:translateY(0) rotate(var(--r));opacity:1}to{transform:translateY(105vh) rotate(calc(var(--r) + 720deg));opacity:0}}.g-lanterns-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.g-lantern{position:absolute;bottom:-150px;left:var(--l);width:100px;height:120px;background-image:radial-gradient(circle at 50% 50%,#ffdf85,#ff9a00);border-radius:50% 50% 40% 40%/60% 60% 40% 40%;transform:scale(var(--s));opacity:0;box-shadow:0 0 20px #ff9a00,0 0 40px #ff9a00,inset 0 0 15px #ffffff80;animation:g-rise var(--d) var(--dl) ease-in-out infinite;filter:hue-rotate(var(--h))}.g-lantern:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:30px;height:10px;background:sienna;border-radius:2px}.g-lantern:after{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:40px;height:10px;background:sienna;border-radius:2px}@keyframes g-rise{0%{transform:translateY(0) scale(var(--s)) translate(0);opacity:.8}50%{transform:translateY(-50vh) scale(var(--s)) translate(20px)}to{transform:translateY(-110vh) scale(var(--s)) translate(-20px);opacity:0}}.g-text-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:800px;text-align:center;color:#fff;font-family:Nunito,sans-serif;z-index:10}.g-text-line{display:block;font-size:clamp(2rem,10vw,4rem);font-weight:700;line-height:1.3;text-shadow:0 0 10px #ff69b4,0 0 20px #ff69b4,0 0 30px #e91e63;opacity:0;transform:translateY(20px);animation:g-text-fade-in 1s forwards cubic-bezier(.25,1,.5,1)}@keyframes g-text-fade-in{to{opacity:1;transform:translateY(0)}}.tam-thu-container{background:linear-gradient(.25turn,#964c02,#964c02);background-size:cover;background-position:center;width:100vw;height:100vh;overflow:hidden;color:#000;position:fixed;top:0;left:0}#vara-container{width:80%;margin:150px auto 20px;min-height:650px;color:#000;position:relative;z-index:10}@media screen and (max-width: 700px){#vara-container{width:95%;margin:40% auto;min-height:800px}}.tam-thu-container .wrapper{position:fixed;width:100%;height:100%;top:0;left:0}.tam-thu-container .box div{position:fixed;width:60px;height:60px;background-color:transparent;border:6px solid rgba(255,255,255,.8)}.tam-thu-container .box div:nth-child(1){top:12%;left:42%;animation:tam-thu-animate 10s linear infinite}.tam-thu-container .box div:nth-child(2){top:70%;left:50%;animation:tam-thu-animate 7s linear infinite}.tam-thu-container .box div:nth-child(3){top:17%;left:6%;animation:tam-thu-animate 9s linear infinite}.tam-thu-container .box div:nth-child(4){top:20%;left:60%;animation:tam-thu-animate 10s linear infinite}.tam-thu-container .box div:nth-child(5){top:67%;left:10%;animation:tam-thu-animate 6s linear infinite}.tam-thu-container .box div:nth-child(6){top:80%;left:70%;animation:tam-thu-animate 12s linear infinite}.tam-thu-container .box div:nth-child(7){top:60%;left:80%;animation:tam-thu-animate 15s linear infinite}.tam-thu-container .box div:nth-child(8){top:32%;left:25%;animation:tam-thu-animate 16s linear infinite}.tam-thu-container .box div:nth-child(9){top:90%;left:25%;animation:tam-thu-animate 9s linear infinite}.tam-thu-container .box div:nth-child(10){top:20%;left:80%;animation:tam-thu-animate 5s linear infinite}@keyframes tam-thu-animate{0%{transform:scale(0) translateY(0) rotate(0);opacity:1}to{transform:scale(1.3) translateY(-90px) rotate(360deg);opacity:0}}
