:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background-color:#fff;color:#1f2937}#root{min-height:100vh;min-height:100svh;min-height:100dvh;margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f8f9fa;min-height:100vh;min-height:100svh;min-height:100dvh;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}.app{min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.container{width:100%;max-width:390px;min-height:100vh;min-height:100svh;min-height:100dvh;position:relative;display:flex;flex-direction:column;background-color:#fff;box-shadow:0 0 20px #0000001a}.custom-input-section{margin-bottom:20px}.form-input-group{display:flex;gap:10px;align-items:center}.add-custom-button{padding:12px 20px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-custom-button:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.add-custom-button:disabled{opacity:.5;cursor:not-allowed}.selected-items-section{margin-bottom:20px}.selected-items h4{margin-bottom:10px;color:#1f2937;font-size:16px;font-weight:600}.selected-tags{display:flex;flex-wrap:wrap;gap:8px}.selected-tag{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;border:1px solid #93c5fd}.remove-tag{background:none;border:none;color:#dc2626;font-size:16px;font-weight:700;cursor:pointer;padding:0;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-tag:hover{background:#fecaca;color:#991b1b}.photo-upload-section{display:flex;flex-direction:column;gap:30px;margin-bottom:20px}.photo-group{background:#f8f9fa;padding:20px;border-radius:12px;border:1px solid #e5e7eb}.photo-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:5px}.photo-description{font-size:14px;color:#6b7280;margin-bottom:15px}.photo-upload-area{display:flex;justify-content:center;align-items:center}.photo-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:180px;height:180px;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.photo-upload-label.member-card-format{width:150px;height:225px}.photo-upload-label:hover{border-color:#2563eb;background:#f0f7ff}.upload-icon{font-size:48px;color:#9ca3af;margin-bottom:10px}.upload-text{font-size:14px;font-weight:500;color:#374151;text-align:center}.ratio-info{font-size:12px;color:#6b7280;margin-top:5px}.photo-preview{display:flex;flex-direction:column;align-items:center;gap:10px}.preview-image{width:180px;height:180px;object-fit:cover;border-radius:12px;border:2px solid #e5e7eb}.preview-image.member-card-ratio{width:150px;height:225px}.change-photo-btn{padding:8px 16px;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s ease}.change-photo-btn:hover{background:#4b5563}.cropper-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000}.cropper-content{background:#fff;border-radius:12px;padding:20px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.cropper-content h3{text-align:center;margin-bottom:20px;color:#1f2937}.crop-container{position:relative;display:flex;justify-content:center;margin-bottom:20px}.crop-image{max-width:400px;max-height:300px;border-radius:8px}.crop-overlay{position:absolute;border:2px solid #2563eb;background:#2563eb1a;pointer-events:none}.crop-controls{display:flex;gap:10px;justify-content:center}.crop-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.crop-btn.cancel{background:#6b7280;color:#fff}.crop-btn.cancel:hover{background:#4b5563}.crop-btn.confirm{background:#2563eb;color:#fff}.crop-btn.confirm:hover{background:#1d4ed8}.welcome-section{padding:80px 40px 0;z-index:2;position:relative}.welcome-text{font-size:32px;font-weight:300;line-height:1.3;color:#8fa3b3;text-align:left;margin-bottom:0}.logo-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;display:flex;justify-content:center;align-items:center}.ucera-logo{width:1200px;height:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(0,0,0,.15));transition:transform .3s ease}.ucera-logo:hover{transform:scale(1.1)}.background-design{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:1}.curve-shape{position:absolute;bottom:-40%;left:-20%;width:140%;height:80%;background:linear-gradient(135deg,#e9ecef,#f1f3f4);border-radius:50% 50% 0 0;transform:rotate(-5deg)}.action-section{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px));padding:24px 40px;z-index:10;display:flex;flex-direction:column;align-items:center;gap:16px}.join-button{width:min(92%,560px);padding:18px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2563eb4d;position:relative;overflow:hidden}.join-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.join-button:active:not(:disabled){transform:translateY(0)}.join-button:disabled{opacity:.8;cursor:not-allowed}.join-button.loading,.next-button.loading{position:relative;background:linear-gradient(135deg,#6b7280,#4b5563);pointer-events:none}.join-button.loading:before,.next-button.loading:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;z-index:1}.join-button.loading .button-text,.next-button.loading .button-text{opacity:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.screen-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cube-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.cube-loader{position:relative;width:50px;height:50px;margin:0 auto 20px}.cube{position:absolute;width:50%;height:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:2px solid #ffffff;border-radius:4px;animation:foldCube 2.4s infinite linear;box-shadow:0 4px 8px #2563eb4d}.cube1{top:0;left:0;transform-origin:100% 100%}.cube2{top:0;right:0;transform-origin:0 100%}.cube3{bottom:0;right:0;transform-origin:0 0}.cube4{bottom:0;left:0;transform-origin:100% 0}@keyframes foldCube{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{transform:perspective(140px) rotateX(0);opacity:1}90%,to{transform:perspective(140px) rotateY(180deg);opacity:0}}.cube1{animation-delay:.3s}.cube2{animation-delay:.6s}.cube3{animation-delay:.9s}.cube4{animation-delay:1.2s}.cube-loader-text{color:#374151;font-size:16px;font-weight:500;text-align:center;margin-top:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.screen-loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.screen-loading-text{color:#6b7280;font-size:14px;font-weight:500;text-align:center}.form-input.loading{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.button-loading-content{display:flex;align-items:center;justify-content:center;gap:8px}.button-loading-dots{display:flex;gap:4px}.button-loading-dot{width:4px;height:4px;background-color:currentColor;border-radius:50%;animation:loadingDots 1.4s infinite both}.button-loading-dot:nth-child(1){animation-delay:-.32s}.button-loading-dot:nth-child(2){animation-delay:-.16s}.button-loading-dot:nth-child(3){animation-delay:0s}@keyframes loadingDots{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-text{height:16px;border-radius:4px;margin-bottom:8px}.skeleton-input{height:48px;border-radius:8px;margin-bottom:16px}.login-link{color:#6b7280;font-size:16px;font-weight:500;cursor:pointer;transition:color .3s ease;margin:0;padding-bottom:calc(env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px));-webkit-user-select:none;user-select:none}.login-link:hover{color:#2563eb}.form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f1f3f4}.back-button{background:none;border:none;font-size:24px;color:#374151;cursor:pointer;padding:8px;border-radius:50%;transition:background-color .2s ease}.back-button:hover{background-color:#f3f4f6}.help-link{color:#2563eb;font-size:16px;font-weight:500;cursor:pointer}.help-link:hover{text-decoration:underline}.form-content{flex:1;padding:40px 24px calc(120px + env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px));overflow-y:auto}.form-group{margin-bottom:40px}.form-label{display:block;font-size:18px;font-weight:600;color:#1f2937;margin-bottom:8px}.form-hint{font-size:14px;color:#6b7280;margin-bottom:12px;line-height:1.4}.form-input{width:100%;padding:16px 0;font-size:16px;color:#1f2937;background:transparent;border:none;border-bottom:2px solid #e5e7eb;outline:none;transition:border-color .3s ease}.form-input:focus{border-bottom-color:#2563eb}.form-input.focused{border-bottom-color:#2563eb}.form-input.error{border-bottom-color:#ef4444}.form-input::placeholder{color:#9ca3af}.error-message{color:#ef4444;font-size:14px;margin-top:8px;margin-bottom:0;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠️";font-size:12px}.success-screen{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;text-align:center}.success-icon{margin-bottom:40px}.checkmark-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#e6f3ff,#cce7ff);display:flex;align-items:center;justify-content:center;margin:0 auto;animation:scaleIn .5s ease-out}.checkmark{font-size:48px;color:#2563eb;font-weight:700;animation:checkmarkPop .6s ease-out .2s both}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-title{font-size:28px;font-weight:400;color:#1f2937;margin-bottom:16px;line-height:1.3}.success-subtitle{font-size:16px;color:#6b7280;line-height:1.4;max-width:300px}.form-title{font-size:24px;font-weight:400;color:#1f2937;margin-bottom:16px;line-height:1.4}.form-subtitle{font-size:16px;color:#6b7280;margin-bottom:32px;line-height:1.4}.passcode-dots{display:flex;justify-content:center;gap:clamp(12px,3.5vw,24px);margin-bottom:clamp(30px,9vh,60px)}.passcode-dot{display:none}.passcode-circle{width:16px;height:16px;border-radius:50%;border:2px solid #d1d5db;background-color:transparent;transition:all .3s ease}.passcode-circle.filled{background-color:#2563eb;border-color:#2563eb}.passcode-circle.error{border-color:#ef4444;background-color:#ef4444}.passcode-dots.error.shake{animation:shake .6s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.number-pad{display:flex;flex-direction:column;gap:clamp(12px,3vw,20px);margin-bottom:clamp(24px,8vh,48px);align-items:center}.number-row{display:flex;justify-content:center;gap:clamp(24px,8vw,44px)}.number-button{width:clamp(64px,16vw,88px);height:clamp(64px,16vw,88px);border-radius:50%;border:none;background-color:#f8f9fa;color:#1f2937;font-size:clamp(20px,5vw,26px);font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.number-button:hover{background-color:#e9ecef;transform:scale(1.05)}.number-button:active{transform:scale(.95);background-color:#dee2e6}.number-button.invisible{opacity:0;cursor:default;pointer-events:none}.number-button.backspace{background-color:#fee2e2;color:#dc2626}.number-button.backspace:hover{background-color:#fecaca}.citizenship-selection{margin-bottom:20px}.citizenship-option{display:flex;align-items:center;padding:16px 20px;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all .2s ease;background-color:#fff}.citizenship-option:hover{border-color:#2563eb;background-color:#f8faff}.citizenship-option.selected{border-color:#2563eb;background-color:#eff6ff}.citizenship-flag{font-size:24px;margin-right:16px}.citizenship-name{flex:1;font-size:16px;color:#1f2937;font-weight:500}.citizenship-checkbox{width:24px;height:24px;border:2px solid #d1d5db;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#2563eb;font-weight:700;font-size:14px;transition:all .2s ease}.citizenship-option.selected .citizenship-checkbox{border-color:#2563eb;background-color:#2563eb;color:#fff}.selection-counter{text-align:center;font-size:14px;color:#6b7280;margin-bottom:20px;padding:12px;background-color:#f8f9fa;border-radius:8px}.city-selection{margin-bottom:20px}.city-option{display:flex;align-items:center;padding:16px 20px;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all .2s ease;background-color:#fff}.city-option:hover{border-color:#2563eb;background-color:#f8faff}.city-option.selected{border-color:#2563eb;background-color:#eff6ff}.city-name{flex:1;font-size:16px;color:#1f2937;font-weight:500}.city-checkbox{width:24px;height:24px;border:2px solid #d1d5db;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#2563eb;font-weight:700;font-size:14px;transition:all .2s ease}.city-option.selected .city-checkbox{border-color:#2563eb;background-color:#2563eb;color:#fff}.birth-question{margin-bottom:40px}.birth-title{font-size:24px;font-weight:400;color:#1f2937;line-height:1.4;margin-bottom:20px}.date-input-container{position:relative;display:flex;align-items:center;border-bottom:2px solid #e5e7eb;transition:border-color .3s ease}.date-input-container:focus-within{border-bottom-color:#2563eb}.date-input-container:has(.error){border-bottom-color:#ef4444}.date-input-container .form-input{border:none;flex:1;margin-right:10px}.calendar-button{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.calendar-button:hover{background-color:#f3f4f6}.date-picker{margin-top:12px;padding:12px;border:2px solid #2563eb;border-radius:8px;font-size:16px;width:100%;outline:none}.phone-input-container{position:relative;display:flex;align-items:center;border-bottom:2px solid #e5e7eb;transition:border-color .3s ease}.phone-input-container:focus-within{border-bottom-color:#2563eb}.country-selector{display:flex;align-items:center;padding:16px 12px 16px 0;cursor:pointer;background-color:#f8f9fa;border-radius:8px 0 0 8px;margin-right:12px;min-width:100px;position:relative}.country-selector:hover{background-color:#f1f3f4}.country-flag{font-size:20px;margin-right:8px}.country-code{font-weight:500;color:#374151;margin-right:8px}.dropdown-arrow{font-size:12px;color:#6b7280}.country-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:200px;overflow-y:auto}.country-option{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s ease}.country-option:hover{background-color:#f8f9fa}.country-option .country-flag{margin-right:12px}.country-option .country-name{flex:1;font-size:14px;color:#374151}.country-option .country-code{font-size:14px;color:#6b7280}.phone-input{flex:1;padding:16px 0;font-size:16px;color:#1f2937;background:transparent;border:none;outline:none}.phone-input::placeholder{color:#9ca3af}.verification-section{margin-bottom:40px}.verification-title{font-size:24px;font-weight:400;color:#1f2937;line-height:1.4;margin-bottom:16px}.verification-subtitle{font-size:16px;color:#6b7280;line-height:1.4}.email-highlight{color:#1f2937;font-weight:500;background-color:#2563eb1a;padding:2px 6px;border-radius:4px}.otp-container{display:flex;justify-content:space-between;gap:12px;margin-bottom:40px}.otp-input{width:48px;height:48px;border:2px solid #e5e7eb;border-radius:8px;text-align:center;font-size:18px;font-weight:600;color:#1f2937;outline:none;transition:all .3s ease}.otp-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.otp-input:not(:placeholder-shown){border-color:#2563eb;background-color:#2563eb0d}.resend-section{text-align:center;margin-bottom:20px}.resend-button{background:none;border:none;color:#2563eb;font-size:16px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s ease;min-height:40px}.resend-button:hover:not(:disabled){background-color:#2563eb1a}.resend-button:disabled,.resend-button.disabled{color:#9ca3af;cursor:not-allowed;background-color:transparent}.resend-button:disabled:hover,.resend-button.disabled:hover{background-color:transparent}.resend-info{font-size:12px;color:#6b7280;margin-top:8px;margin-bottom:0}.form-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16px 24px calc(16px + env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px));border-top:1px solid #f1f3f4;z-index:100;max-width:390px;margin:0 auto}.next-button{width:100%;padding:18px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2563eb4d}.next-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.next-button:active{transform:translateY(0)}@media (max-width: 480px){.container{max-width:100%;height:100vh}.welcome-section{padding:60px 30px 0}.welcome-text{font-size:28px}.ucera-logo{width:960px}.action-section{padding:30px}.form-content{padding:30px 20px calc(120px + env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px))}.form-header{padding:16px 20px}.form-footer{padding:16px 20px calc(16px + env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px))}.birth-title,.verification-title,.form-title{font-size:20px}.success-title{font-size:24px}.checkmark-circle{width:100px;height:100px}.checkmark{font-size:40px}.otp-container{gap:8px}.otp-input{width:40px;height:40px;font-size:16px}.country-selector{min-width:80px;padding:16px 8px 16px 0}.country-dropdown{max-height:150px}.error-message{font-size:12px}.notification{padding:12px 16px;font-size:13px}.notification-close{font-size:18px}.resend-button{font-size:14px;padding:6px 12px}.resend-info{font-size:11px}.number-row{gap:clamp(20px,10vw,40px)}.number-button{width:clamp(60px,20vw,80px);height:clamp(60px,20vw,80px);font-size:clamp(18px,5.5vw,24px)}.passcode-dots{gap:12px;margin-bottom:40px}.citizenship-option,.city-option{padding:14px 16px;margin-bottom:10px}.citizenship-name,.city-name{font-size:15px}.citizenship-flag{font-size:20px;margin-right:12px}.selection-counter{font-size:13px;padding:10px}}html,body{overflow:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}#root{height:100vh;margin:0;padding:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.member-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f1f3f4}.member-card-content{flex:1;padding:40px 24px;overflow-y:auto;text-align:center}.card-icon{margin-bottom:30px;display:flex;justify-content:center;align-items:center}.card-symbol{font-size:4rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite;margin-bottom:20px}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.member-card-title{font-size:24px;font-weight:600;color:#1f2937;margin-bottom:24px;line-height:1.4}.member-card-description{font-size:16px;color:#6b7280;line-height:1.6;margin-bottom:16px;text-align:left}.confirmation-section{margin-top:32px;text-align:left}.confirmation-title{margin-bottom:24px;text-align:center}.confirmation-title h3{font-size:18px;font-weight:600;color:#1f2937;margin:0}.confirmation-item{display:flex;align-items:flex-start;margin-bottom:20px;padding:16px;background-color:#f8faff;border:1px solid #e5e7eb;border-radius:12px;transition:all .3s ease}.confirmation-item:hover{background-color:#eff6ff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1a}.checkbox-container{margin-right:16px;flex-shrink:0}.checkbox{width:24px;height:24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 8px #2563eb4d}.confirmation-text{font-size:15px;color:#374151;line-height:1.5;flex:1}.member-card-button{width:100%;padding:18px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:30px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #2563eb66;position:relative;overflow:hidden}.member-card-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb80}.member-card-button:active{transform:translateY(0)}.member-card-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.member-card-button:hover:before{left:100%}.name-display-section{margin:32px 0}.name-display-card{background:linear-gradient(135deg,#f8faff,#eff6ff);border:2px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 4px 12px #2563eb14}.name-field{margin-bottom:20px}.name-field:last-child{margin-bottom:0}.name-field label{display:block;font-size:15px;font-weight:600;color:#2563eb;margin-bottom:8px;letter-spacing:.5px}.name-value{font-size:18px;color:#1f2937;font-weight:600;padding:12px 16px;background:#fff;border-radius:12px;border:2px solid #e5e7eb;box-shadow:0 2px 8px #2563eb1a;transition:all .3s ease}.name-value:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb26}.name-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:18px;font-weight:600;color:#1f2937;background:#fff;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.name-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.name-input::placeholder{color:#9ca3af;font-weight:400}.confirmation-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px}.confirm-button{width:100%;padding:18px 24px;border:none;border-radius:30px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.confirm-button.correct{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 6px 20px #2563eb66}.confirm-button.correct:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2563eb80}.confirm-button.correct:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.confirm-button.correct:hover:before{left:100%}.confirm-button.incorrect{background:#fff;color:#2563eb;border:2px solid #2563eb;box-shadow:0 4px 12px #2563eb26}.confirm-button.incorrect:hover{background:#f8faff;transform:translateY(-2px);box-shadow:0 6px 20px #2563eb33}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin:24px 0}.selection-item{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px 16px;cursor:pointer;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.selection-item:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb26}.selection-item.selected{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #2563eb33}.selection-icon{font-size:2rem;margin-bottom:4px}.selection-item span{font-size:14px;font-weight:600;color:#374151}.selection-item.selected span{color:#1e40af}.suggestions-section{margin-top:24px}.suggestions-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:16px}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.suggestion-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 8px;cursor:pointer;transition:all .3s ease;font-size:14px;text-align:center}.suggestion-item:hover{background:#eff6ff;border-color:#2563eb;transform:translateY(-1px)}.love-language-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}.love-language-item{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left;display:flex;align-items:center;gap:16px}.love-language-item:hover{border-color:#f472b6;transform:translateY(-2px);box-shadow:0 4px 12px #f472b626}.love-language-item.selected{border-color:#f472b6;background:linear-gradient(135deg,#fdf2f8,#fce7f3);box-shadow:0 4px 12px #f472b633}.love-icon{font-size:2.5rem;flex-shrink:0}.love-title{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:4px}.love-language-item.selected .love-title{color:#be185d}.love-description{font-size:14px;color:#6b7280}.love-language-item.selected .love-description{color:#be185d}.photo-upload-section{display:flex;flex-direction:column;gap:24px;margin:24px 0}.photo-group{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb}.photo-title{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:8px}.photo-description{font-size:14px;color:#6b7280;margin-bottom:16px}.photo-upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:32px 16px;text-align:center;transition:all .3s ease;cursor:pointer}.photo-upload-area:hover{border-color:#3b82f6;background:#eff6ff}.photo-upload-label{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.upload-icon{font-size:2rem;color:#6b7280}.upload-text{font-size:14px;color:#6b7280}.ratio-info{font-size:12px;color:#9ca3af;margin-top:4px}.photo-preview{position:relative;border-radius:8px;overflow:hidden}.preview-image{width:100%;height:auto;max-height:200px;object-fit:cover;border-radius:8px}.change-photo-btn{position:absolute;top:8px;right:8px;background:#0009;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.cropper-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.cropper-content{background:#fff;border-radius:12px;padding:24px;max-width:90vw;max-height:90vh;overflow:auto}.cropper-content h3{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:16px;text-align:center}.crop-container{position:relative;display:inline-block;max-width:100%;border-radius:8px;overflow:hidden}.crop-image{max-width:100%;max-height:400px;display:block;border-radius:8px}.crop-overlay{position:absolute;border:3px solid #3b82f6;background:#3b82f61a;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none}.crop-overlay:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border:1px solid rgba(255,255,255,.8);border-radius:2px;pointer-events:none}.crop-drag-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#3b82f6cc;color:#fff;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700;cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:10}.crop-overlay:active .crop-drag-handle{cursor:grabbing}.crop-resize-handle{position:absolute;width:16px;height:16px;background:#3b82f6;border:3px solid white;border-radius:50%;cursor:nw-resize;box-shadow:0 2px 6px #0000004d;z-index:20;pointer-events:auto;-webkit-user-select:none;user-select:none}.crop-resize-handle:hover{background:#2563eb;transform:scale(1.3);box-shadow:0 3px 8px #0006}.crop-resize-handle.top-left{top:-8px;left:-8px;cursor:nw-resize}.crop-resize-handle.top-right{top:-8px;right:-8px;cursor:ne-resize}.crop-resize-handle.bottom-left{bottom:-8px;left:-8px;cursor:sw-resize}.crop-resize-handle.bottom-right{bottom:-8px;right:-8px;cursor:se-resize}.crop-overlay:hover{border-color:#2563eb;background:#2563eb26}.crop-overlay:active{border-color:#1d4ed8;background:#1d4ed833}.crop-controls{display:flex;gap:12px;justify-content:center;margin-top:20px}.crop-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.crop-btn.cancel{background:#f3f4f6;color:#374151}.crop-btn.cancel:hover{background:#e5e7eb}.crop-btn.confirm{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.crop-btn.confirm:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px)}@media (max-width: 480px){.selection-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.selection-item{padding:16px 12px}.selection-icon{font-size:1.5rem}.love-language-item{padding:16px;gap:12px}.love-icon{font-size:2rem}.love-title{font-size:14px}.love-description{font-size:13px}.suggestions-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.suggestion-item{padding:10px 6px;font-size:13px}}.existing-user-info{background:#f8faff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin:24px 0;text-align:left}.existing-user-info p{margin:8px 0;font-size:16px;color:#374151}.existing-user-info strong{color:#1f2937;font-weight:600}.existing-user-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #2563eb;border-radius:12px;padding:24px;margin:24px 0}.user-info h3{font-size:18px;font-weight:600;color:#1e40af;margin-bottom:16px}.user-info p{font-size:16px;color:#374151;margin:8px 0;display:flex;align-items:center;gap:8px}.status-badge{margin-top:16px}.badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}.badge.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.login-options{margin:24px 0;text-align:center}.login-instruction{font-size:16px;color:#6b7280;line-height:1.6;background:#f9fafb;padding:16px;border-radius:8px;border-left:4px solid #2563eb}.secondary-button{width:100%;padding:16px 24px;background:transparent;color:#6b7280;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:12px}.secondary-button:hover{border-color:#2563eb;color:#2563eb;transform:translateY(-1px)}@media (max-width: 480px){.existing-user-info{padding:16px}.existing-user-card{padding:20px}.user-info h3{font-size:16px}.user-info p{font-size:14px}.login-instruction{font-size:14px;padding:14px}}.member-card-success-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px 20px 80px}.success-title{font-size:32px;font-weight:700;color:#2563eb;margin-bottom:15px;margin-top:10px;text-align:center;letter-spacing:-.5px}.member-card-container{width:580px;height:388px;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57,#ff9ff3,#54a0ff);background-size:400% 400%;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:30px;box-shadow:0 10px 30px #0003;position:relative;padding:2px;animation:gradientBorder 3s ease infinite}.member-card-container .member-card-inner{width:576px;height:384px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}@keyframes gradientBorder{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.card-generating{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.generating-text{margin-top:20px;font-size:16px;font-weight:500;color:#ffffffe6}.generated-card{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.member-card-image{width:100%;height:100%;object-fit:contain;border-radius:16px}.card-placeholder{color:#fff;text-align:center;font-size:18px;font-weight:500}.card-actions{display:flex;gap:20px;margin-top:50px;justify-content:center}.save-card-button,.go-home-button{padding:16px 32px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:150px}.save-card-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 14px #3b82f64d}.save-card-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.go-home-button{background:#fff;color:#3b82f6;border:2px solid #3b82f6;box-shadow:0 4px 14px #3b82f61a}.go-home-button:hover{transform:translateY(-2px);background:#f8faff;box-shadow:0 6px 20px #3b82f633}.card-info{margin-top:20px;text-align:center}.zodiac-info{font-size:16px;color:#666;margin:0}.zodiac-info strong{color:#333;font-weight:700}.member-card-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:15px 0;border-top:1px solid #e5e7eb;z-index:10}.footer-content{display:flex;align-items:center;justify-content:center;gap:12px}.footer-logo{width:24px;height:24px;object-fit:contain}.footer-text{display:flex;flex-direction:column;align-items:center;gap:2px}.powered-by{font-size:12px;font-weight:500;color:#6b7280}.copyright{font-size:10px;color:#9ca3af}@media (max-width: 640px){.member-card-success-content{padding-bottom:70px}.member-card-container{width:calc(90vw + 4px);height:calc(60vw + 4px);max-width:484px;max-height:324px;padding:2px}.member-card-container .member-card-inner{width:90vw;height:60vw;max-width:480px;max-height:320px}.success-title{font-size:26px;margin-bottom:12px;margin-top:5px;text-align:center}.card-actions{flex-direction:column;gap:12px;width:100%;max-width:300px}.save-card-button,.go-home-button{width:100%;padding:14px 20px}.member-card-footer{padding:12px 0}.footer-logo{width:20px;height:20px}.footer-content{gap:8px}.powered-by{font-size:11px}.copyright{font-size:9px}}.home-container{width:100%;min-height:100vh;min-height:100svh;min-height:100dvh;position:relative;display:flex;flex-direction:column;background-color:#fff;box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:100vw}@media (min-width: 480px){.home-container{max-width:min(90vw,480px)}}@media (min-width: 640px){.home-container{max-width:min(85vw,600px)}}@media (min-width: 768px){.home-container{max-width:min(80vw,720px)}}@media (min-width: 1024px){.home-container{max-width:min(75vw,900px)}}@media (min-width: 1280px){.home-container{max-width:min(70vw,1080px)}}.home-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);padding:60px 20px 20px;color:#fff}.profile-section{display:flex;align-items:center;gap:16px}.profile-photo{width:60px;height:60px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.3)}.profile-image{width:100%;height:100%;object-fit:cover}.profile-placeholder{width:100%;height:100%;background:#fff3;display:flex;align-items:center;justify-content:center}.profile-icon{font-size:24px;color:#fffc}.profile-info{flex:1}.welcome-message{font-size:16px;font-weight:500;margin:0 0 4px;color:#ffffffe6}.user-name{font-size:20px;font-weight:700;margin:0;color:#fff}.home-content{flex:1;padding:16px max(16px,5vw) calc(120px + env(safe-area-inset-bottom));overflow-y:auto;width:100%}@media (max-width: 480px){.home-content{padding:12px max(12px,4vw) calc(110px + env(safe-area-inset-bottom))}}@media (max-width: 360px){.home-content{padding:8px max(8px,3vw) calc(105px + env(safe-area-inset-bottom))}}@media (min-width: 480px){.home-content{padding:20px max(20px,6vw) calc(130px + env(safe-area-inset-bottom))}}@media (min-width: 768px){.home-content{padding:24px max(24px,8vw) calc(140px + env(safe-area-inset-bottom))}}@media (min-width: 1024px){.home-content{padding:32px max(32px,10vw) calc(150px + env(safe-area-inset-bottom))}}@media (min-width: 1280px){.home-content{padding:40px max(40px,12vw) calc(160px + env(safe-area-inset-bottom))}}.home-section{text-align:center}.section-title{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 8px}.section-subtitle{font-size:16px;color:#64748b;margin:0 0 32px;line-height:1.5}.feature-cards{display:grid;gap:16px;margin-bottom:100px}.feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;text-align:center;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.card-icon{font-size:32px;margin-bottom:12px}.feature-card h4{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 8px}.feature-card p{font-size:14px;color:#64748b;margin:0;line-height:1.4}.navigation-bar{position:fixed;bottom:calc(8px + env(safe-area-inset-bottom) + var(--bottom-ui-offset, 0px));left:50%;transform:translate(-50%);width:100%;max-width:390px;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-around;padding:12px 0 8px;box-shadow:0 -2px 8px #0000001a;border-radius:16px 16px 0 0}.nav-button{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border-radius:12px;cursor:pointer;transition:all .2s ease;min-width:60px}.nav-button:hover{background-color:#f1f5f9}.nav-button.active{background-color:#3b82f6;color:#fff}.nav-button.active .nav-icon{filter:brightness(0) invert(1)}.nav-icon{font-size:20px}.nav-label{font-size:12px;font-weight:500;color:#64748b}.nav-button.active .nav-label{color:#fff}.notification{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;z-index:1000;animation:slideDown .3s ease-out;font-size:14px;font-weight:500;box-shadow:0 2px 8px #0000001a}.notification.error{background-color:#fef2f2;color:#dc2626;border-bottom:3px solid #dc2626}.notification.success{background-color:#f0fdf4;color:#16a34a;border-bottom:3px solid #16a34a}.notification.info{background-color:#eff6ff;color:#2563eb;border-bottom:3px solid #2563eb}.notification-message{flex:1;line-height:1.4}.notification-close{background:none;border:none;font-size:20px;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;margin-left:12px}.notification.error .notification-close{color:#dc2626}.notification.success .notification-close{color:#16a34a}.notification.info .notification-close{color:#2563eb}.notification-close:hover{background-color:#0000001a}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){.home-header{padding:50px 16px 16px}.profile-photo{width:50px;height:50px}.welcome-message{font-size:14px}.user-name{font-size:18px}.home-content{padding:20px 16px}.section-title{font-size:20px}.section-subtitle{font-size:14px}.feature-card{padding:20px}.navigation-bar{padding:8px 0}.nav-button{padding:6px 8px;min-width:50px}.nav-icon{font-size:18px}.nav-label{font-size:10px}}
