@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);:root{--primary-color:#ff69b4;--primary-light:#ffb6c1;--primary-dark:#c71585;--accent-color:#ff1493;--text-on-primary:#fff;--background-color:#fff0f5;--card-background:#fff;--text-primary:#333;--text-secondary:#666;--shadow-color:rgba(255,105,180,.2)}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{height:100%;font-family:Poppins,sans-serif;background-color:var(--background-color)}#app{width:100%;min-height:100vh;margin:0;padding:0}.modal-enter-active[data-v-17fdd980],.modal-leave-active[data-v-17fdd980]{transition:opacity .3s ease}.modal-enter-active .modal-container[data-v-17fdd980],.modal-leave-active .modal-container[data-v-17fdd980]{transition:transform .3s ease}.modal-enter[data-v-17fdd980],.modal-leave-to[data-v-17fdd980]{opacity:0}.modal-enter .modal-container[data-v-17fdd980],.modal-leave-to .modal-container[data-v-17fdd980]{transform:scale(.9) translateY(-20px)}.modal-overlay[data-v-17fdd980]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-17fdd980]{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-17fdd980]{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;border-bottom:1px solid #f0f0f0;margin-bottom:20px}.modal-title[data-v-17fdd980]{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.modal-close[data-v-17fdd980]{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.modal-close[data-v-17fdd980]:hover{background:#e5e5e5;transform:scale(1.05)}.modal-close svg[data-v-17fdd980]{width:16px;height:16px;color:#666}.modal-body[data-v-17fdd980]{padding:0 24px;flex:1;overflow-y:auto}.modal-content[data-v-17fdd980]{display:flex;flex-direction:column;align-items:center;text-align:center}.alert-icon[data-v-17fdd980]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.alert-icon.success[data-v-17fdd980]{background:#f0f9f0;color:#52c41a}.alert-icon.error[data-v-17fdd980]{background:#fff2f0;color:#ff4d4f}.alert-icon.warning[data-v-17fdd980]{background:#fffbe6;color:#faad14}.alert-icon.info[data-v-17fdd980]{background:#e6f7ff;color:#1890ff}.alert-icon svg[data-v-17fdd980]{width:32px;height:32px}.alert-message[data-v-17fdd980]{font-size:16px;color:#333;line-height:1.6;margin:0}.confirm-icon[data-v-17fdd980]{width:64px;height:64px;border-radius:50%;background:#fff7e6;color:#fa8c16;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.confirm-icon svg[data-v-17fdd980]{width:32px;height:32px}.confirm-message[data-v-17fdd980]{font-size:16px;color:#333;line-height:1.6;margin:0}.prompt-message[data-v-17fdd980]{font-size:16px;color:#333;line-height:1.6;margin:0 0 20px}.input-group[data-v-17fdd980]{width:100%}.prompt-input[data-v-17fdd980]{width:100%;padding:12px 16px;border:2px solid #e5e5e5;border-radius:8px;font-size:16px;transition:border-color .2s ease;box-sizing:border-box}.prompt-input[data-v-17fdd980]:focus{outline:none;border-color:#1890ff}.customize-content[data-v-17fdd980]{align-items:stretch;text-align:left}.customize-message[data-v-17fdd980]{font-size:16px;color:#333;line-height:1.6;margin:0 0 20px;text-align:center}.customize-options[data-v-17fdd980]{display:flex;flex-direction:column;gap:12px}.customize-option[data-v-17fdd980]{display:flex;align-items:center;padding:16px;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;transition:all .2s ease}.customize-option[data-v-17fdd980]:hover{border-color:#1890ff;background:#f6f8ff}.customize-option.active[data-v-17fdd980]{border-color:#1890ff;background:#e6f7ff}.option-icon[data-v-17fdd980]{width:48px;height:48px;border-radius:10px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;margin-right:16px;flex-shrink:0}.customize-option.active .option-icon[data-v-17fdd980]{background:#1890ff;color:#fff}.option-icon svg[data-v-17fdd980]{width:24px;height:24px}.option-icon.color-icon[data-v-17fdd980]{border:2px solid #e5e5e5;overflow:hidden}.customize-option.active .option-icon.color-icon[data-v-17fdd980]{border-color:#1890ff}.color-block[data-v-17fdd980]{width:100%;height:100%;border-radius:6px;position:relative}.color-block[data-v-17fdd980]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.option-content[data-v-17fdd980]{flex:1}.option-title[data-v-17fdd980]{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.option-description[data-v-17fdd980]{font-size:14px;color:#666;margin:0;line-height:1.4}.modal-footer[data-v-17fdd980]{padding:20px 24px 24px;border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end}.btn[data-v-17fdd980]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.btn-primary[data-v-17fdd980]{background:#1890ff;color:#fff}.btn-primary[data-v-17fdd980]:hover:not(:disabled){background:#40a9ff;transform:translateY(-1px)}.btn-primary[data-v-17fdd980]:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.btn-secondary[data-v-17fdd980]{background:#f5f5f5;color:#666}.btn-secondary[data-v-17fdd980]:hover{background:#e5e5e5;transform:translateY(-1px)}@media (max-width:640px){.modal-overlay[data-v-17fdd980]{padding:16px}.modal-container[data-v-17fdd980]{max-height:95vh}.modal-header[data-v-17fdd980]{padding:20px 20px 0}.modal-body[data-v-17fdd980]{padding:0 20px}.modal-footer[data-v-17fdd980]{padding:16px 20px 20px;flex-direction:column-reverse}.btn[data-v-17fdd980]{width:100%}.customize-option[data-v-17fdd980]{padding:12px}.option-icon[data-v-17fdd980]{width:40px;height:40px;margin-right:12px}.option-icon svg[data-v-17fdd980]{width:20px;height:20px}.color-block[data-v-17fdd980]:after,.option-icon.color-icon .color-block[data-v-17fdd980]{border-radius:4px}}.share-content[data-v-17fdd980]{align-items:stretch;text-align:left}.share-header[data-v-17fdd980]{display:flex;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.share-icon[data-v-17fdd980]{width:48px;height:48px;border-radius:12px;background:#e6f7ff;color:#1890ff;display:flex;align-items:center;justify-content:center;margin-right:16px;flex-shrink:0}.share-icon svg[data-v-17fdd980]{width:24px;height:24px}.share-title[data-v-17fdd980]{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.share-message[data-v-17fdd980]{font-size:16px;color:#333;line-height:1.6;margin:0 0 20px;text-align:center}.share-url-container[data-v-17fdd980]{margin-bottom:24px}.share-url-label[data-v-17fdd980]{display:block;font-size:14px;font-weight:500;color:#666;margin-bottom:8px}.share-url-input-group[data-v-17fdd980]{display:flex;gap:8px}.share-url-input[data-v-17fdd980]{flex:1;padding:12px 16px;border:2px solid #e5e5e5;border-radius:8px;font-size:14px;font-family:Courier New,monospace;background:#fafafa;transition:border-color .2s ease;cursor:pointer}.share-url-input[data-v-17fdd980]:focus{outline:none;border-color:#1890ff;background:#fff}.share-url-input[data-v-17fdd980]:hover{border-color:#40a9ff}.btn-copy[data-v-17fdd980]{padding:12px 16px;border:none;border-radius:8px;background:#1890ff;color:#fff;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;white-space:nowrap}.btn-copy[data-v-17fdd980]:hover{background:#40a9ff;transform:translateY(-1px)}.btn-copy[data-v-17fdd980]:active{transform:translateY(0)}.btn-copy svg[data-v-17fdd980]{width:16px;height:16px}.share-tips[data-v-17fdd980]{background:#f6f8ff;border-radius:8px;padding:16px;border-left:4px solid #1890ff}.tip-item[data-v-17fdd980]{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:14px;color:#666}.tip-item[data-v-17fdd980]:last-child{margin-bottom:0}.tip-icon[data-v-17fdd980]{width:16px;height:16px;color:#1890ff;flex-shrink:0}@media (max-width:640px){.share-url-input-group[data-v-17fdd980]{flex-direction:column}.btn-copy[data-v-17fdd980]{justify-content:center}.share-header[data-v-17fdd980]{flex-direction:column;align-items:center;text-align:center}.share-icon[data-v-17fdd980]{margin-right:0;margin-bottom:12px}}.navbar[data-v-143a5daa]{position:fixed;top:0;left:0;right:0;background:hsla(0,78%,98%,.95);backdrop-filter:blur(20px);border-bottom:1px solid #fde8e8;z-index:1000;box-shadow:0 4px 20px rgba(255,107,157,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-container[data-v-143a5daa]{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand[data-v-143a5daa]{font-weight:700;font-size:1.375rem;background:linear-gradient(135deg,#ff9a9e,#fad0c4 50%,#ffdfba);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;transition:transform .2s cubic-bezier(0,0,.2,1);animation:pulse-143a5daa 3s ease-in-out infinite;display:flex;align-items:center;gap:.5rem}.brand[data-v-143a5daa]:hover{transform:scale(1.05)}.brand-subtitle[data-v-143a5daa]{font-size:.875rem;font-weight:600;opacity:.8}.nav-right[data-v-143a5daa]{display:flex;align-items:center;gap:1.5rem}.nav-links[data-v-143a5daa]{display:flex;gap:1.5rem}.nav-link[data-v-143a5daa]{color:#ff6b6b;text-decoration:none;font-weight:500;position:relative;transition:color .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.375rem}.nav-link[data-v-143a5daa]:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:linear-gradient(135deg,#ff9a9e,#fad0c4);transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-link[data-v-143a5daa]:hover{color:#ff9a9e}.nav-link[data-v-143a5daa]:hover:after{width:100%}.nav-link-icon[data-v-143a5daa]{width:16px;height:16px;stroke:currentColor}.user-avatar[data-v-143a5daa]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:2px solid #fde8e8;background:none}.user-avatar[data-v-143a5daa]:not(.has-image){background:linear-gradient(135deg,#ff9a9e,#fad0c4)}.user-avatar.has-image[data-v-143a5daa]{background:transparent;border-color:#ffe8e1}.user-avatar[data-v-143a5daa]:hover{transform:scale(1.05);border-color:#ff9a9e;box-shadow:0 8px 25px rgba(255,154,158,.3)}.avatar-image[data-v-143a5daa]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.avatar-text[data-v-143a5daa]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.auth-buttons[data-v-143a5daa]{display:flex;gap:.75rem}.btn-ghost[data-v-143a5daa]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:1rem;text-decoration:none;font-weight:500;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;outline:none;box-shadow:0 4px 20px rgba(93,173,226,.1);color:#5dade2;background:hsla(0,0%,100%,.9);border:1px solid #e3f2fd}.btn-ghost[data-v-143a5daa]:focus-visible{outline:2px solid #ff6b6b;outline-offset:2px}.btn-ghost[data-v-143a5daa]:hover{color:#ff6b6b;background:rgba(227,242,253,.95);border-color:#ff6b6b;transform:translateY(-1px);box-shadow:0 8px 25px rgba(93,173,226,.2)}.btn-primary[data-v-143a5daa]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:1rem;text-decoration:none;font-weight:600;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none;box-shadow:0 4px 20px rgba(255,154,158,.3);background:linear-gradient(135deg,#ffb3ba,#ffdfba 50%,#ffffba);color:#fff}.btn-primary[data-v-143a5daa]:focus-visible{outline:2px solid #ff6b6b;outline-offset:2px}.btn-primary[data-v-143a5daa]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,154,158,.4)}@keyframes pulse-143a5daa{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width:768px){.nav-right[data-v-143a5daa]{gap:1rem}.nav-links[data-v-143a5daa]{display:flex;gap:1rem}.nav-link[data-v-143a5daa]{font-size:.875rem;padding:.4rem .8rem;border-radius:1rem;background:rgba(255,248,240,.9);border:1px solid #ffe8e1;transition:all .3s ease;color:#ff6b6b}.nav-link[data-v-143a5daa]:hover{background:rgba(255,154,158,.1);border-color:#ff9a9e;color:#ff5252}.brand[data-v-143a5daa]{font-size:1.25rem}.auth-buttons[data-v-143a5daa]{gap:.5rem}.btn-ghost[data-v-143a5daa],.btn-primary[data-v-143a5daa]{padding:.5rem 1rem;font-size:.875rem}}@media (max-width:480px){.nav-container[data-v-143a5daa]{padding:.75rem 1rem}.brand[data-v-143a5daa]{font-size:1.125rem}.nav-right[data-v-143a5daa]{gap:.75rem}.nav-links[data-v-143a5daa]{gap:.5rem}.nav-link[data-v-143a5daa]{font-size:.8rem;padding:.3rem .6rem;border-radius:.75rem}.auth-buttons[data-v-143a5daa]{gap:.375rem}.btn-ghost[data-v-143a5daa],.btn-primary[data-v-143a5daa]{padding:.5rem .75rem;font-size:.8rem}.user-avatar[data-v-143a5daa]{width:32px;height:32px;font-size:14px}}@media (max-width:320px){.nav-container[data-v-143a5daa]{padding:.5rem .75rem}.brand[data-v-143a5daa]{font-size:1rem}.nav-right[data-v-143a5daa]{gap:.5rem}.nav-links[data-v-143a5daa]{gap:.25rem}.nav-link[data-v-143a5daa]{font-size:.75rem;padding:.25rem .5rem;border-radius:.5rem}.auth-buttons[data-v-143a5daa]{gap:.25rem}.btn-ghost[data-v-143a5daa],.btn-primary[data-v-143a5daa]{padding:.4rem .6rem;font-size:.75rem}.user-avatar[data-v-143a5daa]{width:28px;height:28px;font-size:12px}}[data-v-1b33dc40]{margin:0;padding:0;box-sizing:border-box}[data-v-1b33dc40]:root{--primary-gradient:linear-gradient(135deg,#ffb3ba,#ffdfba 50%,#ffffba);--secondary-gradient:linear-gradient(135deg,#bae1ff,#baffc9 50%,#ffffba);--accent-gradient:linear-gradient(135deg,#ff9a9e,#fad0c4);--primary-600:#ff9a9e;--primary-700:#ff6b6b;--primary-800:#ff5252;--secondary-500:#a8e6cf;--secondary-600:#88d8a3;--secondary-700:#5dade2;--neutral-50:#fef7f7;--neutral-100:#fef1f1;--neutral-200:#fde8e8;--neutral-300:#fccfcf;--neutral-400:#ff6b9d;--neutral-500:#e91e63;--neutral-600:#ad1457;--neutral-700:#880e4f;--neutral-800:#560027;--neutral-900:#3e001d;--success-500:#ec4899;--success-600:#db2777;--warning-500:#f59e0b;--warning-600:#d97706;--error-500:#f472b6;--error-600:#ec4899;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-base:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--radius-sm:0.375rem;--radius-base:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55)}.page[data-v-1b33dc40]{min-height:100vh;background:linear-gradient(135deg,#fff0f5,#ffebf0 25%,#f8e7ff 50%,#f0f9ff 75%,#fdf2f8);color:#be185d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,SF Pro Display,Roboto,Inter,sans-serif;line-height:1.6;display:flex;flex-direction:column;overflow-x:hidden;position:relative}.page[data-v-1b33dc40]:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 80%,rgba(255,182,193,.3) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(221,160,221,.3) 0,transparent 50%),radial-gradient(circle at 40% 40%,rgba(173,216,230,.2) 0,transparent 50%);pointer-events:none;z-index:0}.btn-icon[data-v-1b33dc40]{width:20px;height:20px}.projects-section[data-v-1b33dc40]{padding:8rem 1.5rem 5rem;background:linear-gradient(135deg,rgba(255,240,245,.9),rgba(252,231,243,.9) 25%,rgba(243,232,255,.9) 50%,rgba(224,242,254,.9) 75%,rgba(253,242,248,.9));position:relative;z-index:1}.section-container[data-v-1b33dc40]{max-width:1200px;margin:0 auto}.section-header[data-v-1b33dc40]{text-align:center;margin-bottom:2rem}.section-title[data-v-1b33dc40]{font-size:2.75rem;font-weight:700;background:linear-gradient(135deg,#ec4899,#be185d 30%,#a855f7 60%,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;line-height:1.2}.section-description[data-v-1b33dc40]{font-size:1.125rem;color:#be185d;max-width:600px;margin:0 auto;line-height:1.6}.loading-state[data-v-1b33dc40]{display:flex;justify-content:center;align-items:center;padding:5rem 0}.loading-container[data-v-1b33dc40]{text-align:center}.loading-spinner[data-v-1b33dc40]{width:48px;height:48px;border:4px solid rgba(236,72,153,.2);border-top:4px solid #ec4899;border-right:4px solid #a855f7;border-radius:50%;animation:rainbow-spin-1b33dc40 1.5s linear infinite;margin:0 auto 1.5rem;box-shadow:0 0 20px rgba(236,72,153,.3)}@keyframes spin-1b33dc40{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes float-1b33dc40{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-1b33dc40{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer-1b33dc40{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.loading-text[data-v-1b33dc40]{color:#be185d;font-size:1.125rem;font-weight:500}.error-state[data-v-1b33dc40]{display:flex;justify-content:center;align-items:center;padding:5rem 0}.error-container[data-v-1b33dc40]{text-align:center;max-width:400px}.error-icon[data-v-1b33dc40]{width:64px;height:64px;color:#ef4444;margin:0 auto 1.5rem}.error-message[data-v-1b33dc40]{color:#475569;font-size:1.125rem;margin-bottom:2rem;line-height:1.6}.btn-retry[data-v-1b33dc40]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#ec4899,#be185d 50%,#a855f7);color:#fff;border:none;border-radius:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px rgba(236,72,153,.4)}.btn-retry[data-v-1b33dc40]:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(236,72,153,.6)}.projects-grid[data-v-1b33dc40]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.project-card[data-v-1b33dc40]{background:linear-gradient(145deg,hsla(0,0%,100%,.95),rgba(255,240,245,.9));border-radius:2rem;border:2px solid rgba(255,182,193,.3);overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 30px rgba(236,72,153,.15);position:relative;backdrop-filter:blur(20px);animation:float-1b33dc40 6s ease-in-out infinite}.project-card[data-v-1b33dc40]:nth-child(2n){animation-delay:-2s}.project-card[data-v-1b33dc40]:nth-child(3n){animation-delay:-4s}.project-card[data-v-1b33dc40]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px rgba(236,72,153,.25);border-color:rgba(236,72,153,.5)}.card-header[data-v-1b33dc40]{position:relative;height:320px;background:linear-gradient(135deg,#fce7f3,#fbcfe8 50%,#f3e8ff);overflow:hidden}.project-icon-container[data-v-1b33dc40]{position:absolute;top:0;left:0;width:100%;height:100%}.project-image[data-v-1b33dc40]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-image[data-v-1b33dc40]{transform:scale(1.1)}.image-error-placeholder[data-v-1b33dc40]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#fce7f3,#f8bbd9 50%,#ec4899);color:#be185d;gap:1rem}.error-icon[data-v-1b33dc40]{width:48px;height:48px;opacity:.6}.error-text[data-v-1b33dc40]{font-size:2rem;font-weight:700;opacity:.8}.card-body[data-v-1b33dc40]{padding:1.25rem}.project-title[data-v-1b33dc40]{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#be185d,#ec4899 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;line-height:1.3}.project-description[data-v-1b33dc40]{color:#64748b;line-height:1.5;margin-bottom:1rem;font-size:.95rem}.card-actions[data-v-1b33dc40]{display:flex;gap:.75rem;margin-top:.5rem}.btn-full-width[data-v-1b33dc40],.btn-half-width[data-v-1b33dc40]{flex:1}.btn-card-primary[data-v-1b33dc40]{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;background:linear-gradient(135deg,#a8e6cf,#88d8a3);color:#fff;text-decoration:none;border:none;border-radius:1rem;font-weight:600;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px rgba(168,230,207,.3)}.btn-card-primary[data-v-1b33dc40]:hover{background:linear-gradient(135deg,#5dade2,#a8e6cf);transform:translateY(-2px);box-shadow:0 8px 25px rgba(93,173,226,.4)}.btn-card-disabled[data-v-1b33dc40]{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:1rem;font-weight:500;text-align:center;cursor:not-allowed;opacity:.6}.btn-customize-project[data-v-1b33dc40]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#ff9a9e,#fad0c4)!important;color:#fff!important;border:none;border-radius:.875rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px rgba(255,154,158,.3)}.btn-customize-project[data-v-1b33dc40]:focus-visible{outline:2px solid var(--primary-600);outline-offset:2px}.btn-customize-project[data-v-1b33dc40]:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,154,158,.4);background:linear-gradient(135deg,#ff6b6b,#ff9a9e)!important}.customize-icon[data-v-1b33dc40]{width:18px;height:18px;stroke:currentColor;color:#fff!important}.footer[data-v-1b33dc40]{background:linear-gradient(135deg,hsla(0,0%,100%,.9),rgba(255,240,245,.8));color:#be185d;padding:1.5rem 1.5rem 1rem;margin-top:auto;position:relative;z-index:1;backdrop-filter:blur(20px);border-top:2px solid rgba(255,182,193,.3)}.footer-container[data-v-1b33dc40]{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.75rem}.footer-links[data-v-1b33dc40]{display:flex;justify-content:center;gap:1.5rem}.footer-link[data-v-1b33dc40]{color:#ec4899;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.footer-link[data-v-1b33dc40]:hover{color:#be185d;transform:translateY(-1px)}.footer-bottom[data-v-1b33dc40]{text-align:center;display:flex;flex-direction:column;gap:.25rem}.copyright[data-v-1b33dc40]{background:linear-gradient(135deg,#be185d,#ec4899 50%,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:.8rem;font-weight:500}.icp-info[data-v-1b33dc40]{font-size:.7rem}.icp-info a[data-v-1b33dc40]{color:#94a3b8;text-decoration:none;transition:color .3s ease}.icp-info a[data-v-1b33dc40]:hover{color:#be185d;text-decoration:underline}@media (max-width:1024px){.projects-grid[data-v-1b33dc40]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.card-header[data-v-1b33dc40]{height:280px}}@media (max-width:768px){.projects-grid[data-v-1b33dc40]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.section-title[data-v-1b33dc40]{font-size:2.25rem}.footer-links[data-v-1b33dc40]{flex-direction:column;gap:1rem}}@media (max-width:480px){.projects-section[data-v-1b33dc40]{padding:6rem 1rem 3rem}.section-title[data-v-1b33dc40]{font-size:1.875rem}.section-description[data-v-1b33dc40]{font-size:1rem}}@media (max-width:320px){.projects-section[data-v-1b33dc40]{padding:5rem .75rem 2rem}}.floating-decorations[data-v-1b33dc40]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-flower[data-v-1b33dc40],.floating-heart[data-v-1b33dc40],.floating-star[data-v-1b33dc40]{position:absolute;font-size:1.5rem;animation:float-up-1b33dc40 8s ease-in-out infinite;opacity:.7}.floating-heart[data-v-1b33dc40]{animation:float-up-1b33dc40 8s ease-in-out infinite,pulse-1b33dc40 2s ease-in-out infinite}.floating-star[data-v-1b33dc40]{animation:float-up-1b33dc40 8s ease-in-out infinite,twinkle-1b33dc40 1.5s ease-in-out infinite}.floating-flower[data-v-1b33dc40]{animation:float-up-1b33dc40 8s ease-in-out infinite,rotate-gentle-1b33dc40 4s ease-in-out infinite}@keyframes rainbow-spin-1b33dc40{0%{transform:rotate(0deg);filter:hue-rotate(0deg)}to{transform:rotate(1turn);filter:hue-rotate(1turn)}}@keyframes float-up-1b33dc40{0%{transform:translateY(100vh) rotate(0deg);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateY(-10vh) rotate(1turn);opacity:0}}@keyframes twinkle-1b33dc40{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes rotate-gentle-1b33dc40{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.floating-decorations .floating-flower[data-v-1b33dc40]:nth-child(n+5),.floating-decorations .floating-heart[data-v-1b33dc40]:nth-child(n+5),.floating-decorations .floating-star[data-v-1b33dc40]:nth-child(n+5){display:none}.floating-flower[data-v-1b33dc40],.floating-heart[data-v-1b33dc40],.floating-star[data-v-1b33dc40]{font-size:1.2rem}}@media (max-width:480px){.floating-decorations .floating-flower[data-v-1b33dc40]:nth-child(n+3),.floating-decorations .floating-heart[data-v-1b33dc40]:nth-child(n+3),.floating-decorations .floating-star[data-v-1b33dc40]:nth-child(n+3){display:none}.floating-flower[data-v-1b33dc40],.floating-heart[data-v-1b33dc40],.floating-star[data-v-1b33dc40]{font-size:1rem}}