@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary: #11d473;--background: #fcfaf7;--charcoal: #0d1b14;--gold-accent: #d4af37}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;background-color:var(--background);color:var(--charcoal);min-height:100vh;-webkit-font-smoothing:antialiased}.App{max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}header{position:sticky;top:0;z-index:50;background:#fcfaf7cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(13,27,20,.05);padding:1rem;text-align:center}header h1{font-size:1.125rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal)}.hero-section{position:relative;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:3rem 1.5rem;margin:1rem;border-radius:1rem;background:linear-gradient(#0000001a,#000000b3),url(https://lh3.googleusercontent.com/aida-public/AB6AXuDwTPiAs8n8VJed_NJr4vYj7LE8BEJsrbfYqdqFa9Cn4Ah6XglCONVkTtLhSgfUWr-U1-f_5u0DcC2gOWThg5NnZ-OEz8V1R-etGCIWhBC3W7wAsFX-_1XA_GZTWw17L8s-o48INxxaCSbkfd_zdVXEd231wqiv162O097O5s7b0g9UuQlw7yYa5wa3JcIDGp-akUXMXGbfemIbLgmnHER18ezFkoyTQMLfA0Po4o4IjZ2vtx61VGzzeCZI1z5itNtRdp2vx_MZUsGM);background-size:cover;background-position:center;box-shadow:0 25px 50px -12px #00000040;text-align:center}.hero-section h2{color:#fff;font-size:2rem;font-weight:800;line-height:1.1;margin-bottom:.75rem}.hero-section h2 span{color:var(--primary);font-style:italic}.hero-section p{color:#fffc;font-size:.875rem;font-weight:300;max-width:320px}.section-header{display:flex;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem 1rem}.section-header:before,.section-header:after{content:"";height:1px;flex:1;background:#0d1b141a}.section-header h3{font-size:.75rem;font-weight:900;letter-spacing:.3em;text-transform:uppercase;color:#0d1b1499}.input-section{padding:1.5rem}.input-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid rgba(13,27,20,.05)}.input-group{margin-bottom:1.5rem}.input-group label{display:block;font-size:.875rem;font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-field{width:100%;padding:.875rem 1rem;font-size:1rem;font-family:Plus Jakarta Sans,sans-serif;border:1px solid rgba(13,27,20,.15);border-radius:.5rem;background:var(--background);color:var(--charcoal);transition:border-color .2s,box-shadow .2s}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #11d47326}.input-field::placeholder{color:#0d1b1466}.select-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230d1b14' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.input-hint{font-size:.75rem;color:#0d1b1480;margin-top:.5rem}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;border:2px dashed rgba(13,27,20,.15);border-radius:.75rem;background:#11d47308;cursor:pointer;transition:border-color .2s,background .2s}.upload-area:hover{border-color:var(--primary);background:#11d47314}.upload-area.has-image{border-style:solid;border-color:var(--primary);padding:0;overflow:hidden}.upload-area.dragging{border-color:var(--primary);background:#11d47326;transform:scale(1.02)}.preview-container{position:relative;width:100%}.preview-image{width:100%;max-height:300px;object-fit:cover;display:block}.preview-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:2rem 1rem 1rem;text-align:center}.preview-overlay span{color:#fff;font-size:.875rem;font-weight:500}.upload-icon{width:48px;height:48px;border-radius:50%;background:#11d4731a;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1.5rem}.upload-text{font-size:.875rem;color:#0d1b1499;text-align:center}.upload-text strong{color:var(--primary);font-weight:600}.crop-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1rem}.crop-container p{font-size:.75rem;color:#0d1b1480}.ReactCrop{border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.ReactCrop__image{max-height:300px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:200px;height:3.5rem;padding:0 2rem;font-family:Plus Jakarta Sans,sans-serif;font-size:.875rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;border:none;border-radius:9999px;cursor:pointer;transition:transform .2s,box-shadow .2s}.button-primary{background:var(--primary);color:var(--charcoal);box-shadow:0 10px 25px -5px #11d47366}.button-primary:hover:not(:disabled){transform:scale(1.02)}.button-primary:disabled{background:#0d1b1433;color:#0d1b1466;box-shadow:none;cursor:not-allowed}.button-secondary{background:var(--charcoal);color:#fff}.button-secondary:hover{transform:scale(1.02)}.button-outline{background:transparent;color:var(--charcoal);border:2px solid var(--charcoal)}.button-outline:hover{background:var(--charcoal);color:#fff}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:2rem 1.5rem}.action-buttons .button{min-width:150px}.share-message{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--charcoal);color:#fff;padding:1rem 2rem;border-radius:9999px;font-size:.875rem;font-weight:600;z-index:100;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.generate-button{width:100%;margin-top:1rem}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}@media(max-width:560px){.payment-options{grid-template-columns:1fr}}.payment-option{background:var(--background);border:1px solid rgba(13,27,20,.1);border-radius:1rem;padding:1.25rem;text-align:center;position:relative}.payment-option.featured{border:2px solid var(--primary);background:#11d47308}.payment-option .badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--primary);color:var(--charcoal);font-size:.6875rem;font-weight:700;padding:.25rem .75rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.payment-option h4{font-size:1rem;font-weight:700;color:var(--charcoal);margin:.5rem 0}.payment-option .price-original{font-size:.875rem;color:#0d1b1466;text-decoration:line-through;margin:0}.payment-option .price{font-size:1.5rem;font-weight:800;color:var(--charcoal);margin:.25rem 0 .5rem}.payment-option .price span{font-size:.875rem;font-weight:500;color:#0d1b1480}.payment-option .price-desc{font-size:.75rem;color:#0d1b1499;margin-bottom:1rem}.payment-option .sub-note{font-size:.6875rem;color:#0d1b1480;margin-top:.75rem}.payment-option .benefit-list{list-style:none;padding:0;margin:.75rem 0;text-align:left}.payment-option .benefit-list li{font-size:.8125rem;color:var(--charcoal);padding:.375rem 0 .375rem 1.5rem;position:relative}.payment-option .benefit-list li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.payment-option .login-prompt{font-size:.75rem;color:#0d1b1499;margin-top:.75rem;cursor:pointer}.payment-option .login-prompt span{color:var(--primary);font-weight:600;text-decoration:underline}.payment-option .login-prompt:hover span{color:#0fb366}.payment-option .input-group.compact{margin-bottom:1rem;text-align:left}.payment-option .input-group.compact label{font-size:.75rem}.payment-option .input-group.compact .input-field{padding:.625rem .75rem;font-size:.875rem}.login-button{background:var(--primary);color:var(--charcoal);border:none;padding:.5rem 1rem;border-radius:9999px;font-size:.8125rem;font-weight:700;cursor:pointer;transition:all .2s}.login-button:hover{transform:scale(1.02);box-shadow:0 4px 12px #11d4734d}.auth-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.auth-modal{position:relative;width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#0d1b1480;cursor:pointer;z-index:10;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close:hover{background:#0d1b141a;color:var(--charcoal)}.spinner{width:40px;height:40px;border:3px solid rgba(17,212,115,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s ease infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:1rem;border-radius:.5rem;text-align:center;margin:1rem 1.5rem;font-size:.875rem}.results-section{background:var(--charcoal);color:#fff;border-radius:2.5rem 2.5rem 0 0;margin-top:2rem;padding:2rem 1.5rem 6rem}.results-section h3{font-size:1.75rem;font-weight:800;margin-bottom:.5rem}.results-section>p{color:#fff9;font-size:.875rem;font-weight:300;margin-bottom:2rem}.result-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;margin-bottom:1rem}.result-card h4{font-size:1.125rem;font-weight:700;margin-bottom:1rem;color:var(--primary)}.result-card img{width:100%;border-radius:.5rem;margin-bottom:1rem}.analysis-content{font-size:.9375rem;line-height:1.7;color:#ffffffd9}.analysis-content h1,.analysis-content h2,.analysis-content h3{color:#fff;margin-top:1.5rem;margin-bottom:.75rem}.analysis-content h1{font-size:1.5rem}.analysis-content h2{font-size:1.25rem}.analysis-content h3{font-size:1.125rem}.analysis-content p{margin-bottom:1rem}.analysis-content ul,.analysis-content ol{margin-bottom:1rem;padding-left:1.5rem}.analysis-content li{margin-bottom:.5rem}.analysis-content strong{color:var(--primary);font-weight:600}footer{padding:3rem 1.5rem;text-align:center;background:var(--background);border-top:1px solid rgba(13,27,20,.08);margin-top:auto}.footer-brand h3{font-size:1rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--charcoal);margin-bottom:.25rem}.footer-tagline{font-size:.75rem;color:#0d1b1480;margin-bottom:1.5rem}.footer-disclaimer{font-size:.75rem;color:#0d1b1480;line-height:1.6;max-width:400px;margin:0 auto 1.5rem;padding:1rem;background:#0d1b1408;border-radius:.5rem}.footer-links{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem}.footer-links a{font-size:.75rem;color:#0d1b1499;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--primary)}.footer-links span{color:#0d1b1433}.footer-copyright{font-size:.625rem;color:#0d1b144d;text-transform:uppercase;letter-spacing:.15em}.floating-cta{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:50;width:calc(100% - 2rem);max-width:320px}.floating-cta .button{width:100%;box-shadow:0 20px 40px -10px #0000004d}.auth-container{padding:1.5rem;flex:1}.auth-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid rgba(13,27,20,.05);max-width:400px;margin:0 auto}.auth-card h2{font-size:1.5rem;font-weight:700;color:var(--charcoal);margin-bottom:1.5rem;text-align:center}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-button{width:100%;margin-top:.5rem}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:.5rem;font-size:.875rem;text-align:center}.auth-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:.75rem;border-radius:.5rem;font-size:.875rem;text-align:center}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.875rem;color:#0d1b1499}.auth-link{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;font-size:.875rem;text-decoration:underline}.auth-link:hover{color:#0fb366}.auth-description{font-size:.875rem;color:#0d1b1499;text-align:center;margin-bottom:1.5rem;line-height:1.5}.auth-forgot{text-align:right;margin-top:-.5rem;margin-bottom:.5rem}.auth-forgot .auth-link{font-size:.8125rem}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#0d1b1426}.auth-divider span{font-size:.75rem;color:#0d1b1480;font-weight:500}.google-button{width:100%;background:#fff;color:var(--charcoal);border:1px solid rgba(13,27,20,.2);font-weight:600;text-transform:none;letter-spacing:0}.google-button:hover:not(:disabled){background:#f8f9fa;border-color:#0d1b144d;transform:scale(1.01)}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button svg{flex-shrink:0}header{display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;align-items:center;gap:.75rem}.user-info span{font-size:.75rem;color:#0d1b1499;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{background:transparent;border:1px solid rgba(13,27,20,.2);color:#0d1b1499;padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-button:hover{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}.user-info .mypage-button{background:transparent;border:1px solid var(--primary);color:var(--primary);padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.user-info .mypage-button:hover{background:var(--primary);color:var(--charcoal)}.mypage-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.mypage-container{background:#fff;border-radius:1rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.mypage-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(13,27,20,.1)}.mypage-header h2{font-size:1.25rem;font-weight:700;color:var(--charcoal)}.mypage-close{background:none;border:none;padding:.5rem;cursor:pointer;color:#0d1b1480;transition:color .2s}.mypage-close:hover{color:var(--charcoal)}.mypage-tabs{display:flex;border-bottom:1px solid rgba(13,27,20,.1)}.mypage-tab{flex:1;padding:1rem;background:none;border:none;font-size:.875rem;font-weight:600;color:#0d1b1480;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.mypage-tab:hover{color:var(--charcoal)}.mypage-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.mypage-content{padding:1.5rem}.mypage-info .info-item{margin-bottom:1.25rem}.mypage-info .info-item:last-child{margin-bottom:0}.mypage-info label{display:block;font-size:.75rem;font-weight:600;color:#0d1b1480;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.mypage-info p{font-size:1rem;color:var(--charcoal);font-weight:500}.mypage-form{display:flex;flex-direction:column;gap:1rem}.mypage-button{width:100%;margin-top:.5rem}.mypage-notice{background:#0d1b140d;padding:1rem;border-radius:.5rem;font-size:.875rem;color:#0d1b14b3;text-align:center}.mypage-delete .delete-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.mypage-delete .delete-warning h4{color:#dc2626;font-size:.875rem;font-weight:700;margin-bottom:.75rem}.mypage-delete .delete-warning ul{list-style:none;padding:0;margin:0}.mypage-delete .delete-warning li{font-size:.8125rem;color:#991b1b;margin-bottom:.375rem;padding-left:1rem;position:relative}.mypage-delete .delete-warning li:before{content:"•";position:absolute;left:0}.button-danger{background:#dc2626;color:#fff;box-shadow:0 10px 25px -5px #dc26264d}.button-danger:hover:not(:disabled){background:#b91c1c}.button-danger:disabled{background:#dc262666;box-shadow:none;cursor:not-allowed}@media(max-width:480px){.hero-section h2{font-size:1.75rem}.input-row{grid-template-columns:1fr}.user-info span{display:none}}
