.signup-container{background:#f8f9fa;border-radius:12px;box-shadow:0 2px 8px #00000014;margin:40px auto;max-width:400px;padding:24px}.signup-form label{color:#34495e;display:block;font-weight:500;margin-bottom:16px}.signup-form input{border:1px solid #ccc;border-radius:4px;margin-left:8px;margin-top:6px;padding:8px;width:90%}.signup-title{color:#2c3e50;margin-bottom:20px;text-align:center}.signup-btn{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;margin-top:10px;padding:10px 0;transition:background .2s;width:100%}.signup-btn:hover{background:#219150}.signup-msg{color:#e67e22;font-weight:500;margin-top:14px;text-align:center}:root{--card-bg:#fff;--accent:#2e8b57;--muted:#6b7680;--radius:12px;--shadow:0 8px 30px #1e463214}*{box-sizing:border-box;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.signin-page{align-items:center;background:linear-gradient(180deg,#f3faf6,#eef8f1);display:flex;justify-content:center;min-height:calc(100vh - 80px);padding:32px}.signin-card{background:#fff;background:var(--card-bg);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 30px #1e463214;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;max-width:520px;padding:28px;width:100%}.signin-title{color:#153b2e;font-size:1.4rem;margin:0;text-align:left}.field{display:flex;flex-direction:column;gap:6px}.label-text{color:#6b7680;color:var(--muted);font-size:.85rem;font-weight:600}.input{border:1px solid #e6ece6;border-radius:8px;box-sizing:border-box;font-size:1rem;min-width:0;outline:none;padding:10px 12px;transition:box-shadow .12s,border-color .12s;width:100%}.input:focus{border-color:#2e8b57;border-color:var(--accent);box-shadow:0 4px 18px #2e8b5714}.actions{align-items:center;display:flex;gap:10px;margin-top:6px}.btn{padding:10px 14px}.btn.primary{background:#2e8b57;background:var(--accent);color:#fff;flex:1 1}.btn.primary:disabled{cursor:not-allowed;opacity:.7}.btn.link{background:#0000;border-radius:8px;color:#6b7680;color:var(--muted);padding:8px}.signin-msg{color:#d35400;font-weight:600;margin-top:6px;text-align:left}.signin-footer{color:#6b7680;color:var(--muted);font-size:.95rem;margin-top:6px;text-align:center}.signin-footer a{color:#2e8b57;color:var(--accent);font-weight:700;text-decoration:none}@media (max-width:520px){.signin-card{margin:0 12px;max-width:100%;padding:20px}.actions{flex-direction:column}.btn.link{text-align:center;width:100%}}.forgotpassword-container{align-items:center;background:linear-gradient(135deg,#f0f7f0,#e8f5e8);display:flex;justify-content:center;min-height:100vh;padding:2rem}.forgotpassword-card{background:#fff;border:1px solid #e8f5e8;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:450px;padding:3rem;width:100%}.forgotpassword-header{margin-bottom:2rem;text-align:center}.forgotpassword-icon{font-size:4rem;margin-bottom:1rem}.forgotpassword-title{color:#2d5016;font-size:2rem;font-weight:700;margin-bottom:.5rem}.forgotpassword-subtitle{color:#666;font-size:1rem;line-height:1.5}.forgotpassword-steps{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem}.forgotpassword-step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem}.step-number{background:#e0e0e0;color:#999;transition:all .3s ease}.forgotpassword-step.active .step-number{background:#4caf50;color:#fff}.forgotpassword-step span{color:#999;font-size:.75rem;text-align:center}.forgotpassword-step.active span{color:#4caf50;font-weight:500}.step-connector{background:#e0e0e0;flex:1 1;height:2px;margin:0 .5rem;position:relative;top:-8px}.forgotpassword-message{align-items:center;border-radius:12px;display:flex;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.forgotpassword-message.success{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.forgotpassword-message.error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.message-icon{font-size:1.1rem;font-weight:700}.forgotpassword-form{space-y:1.5rem}.form-label{color:#333;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-input{background:#fff;border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.form-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-hint{color:#666;display:block;font-size:.75rem;margin-top:.5rem}.forgotpassword-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease;width:100%}.forgotpassword-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.forgotpassword-btn.primary{background:#4caf50;color:#fff}.forgotpassword-btn.primary:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.forgotpassword-btn.secondary{background:#f5f5f5;border:1px solid #ddd;color:#666}.forgotpassword-btn.secondary:hover:not(:disabled){background:#e0e0e0;transform:translateY(-1px)}.forgotpassword-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.forgotpassword-actions .forgotpassword-btn{flex:1 1}.forgotpassword-links{margin-top:1.5rem;text-align:center}.back-link{color:#4caf50;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .3s ease}.back-link:hover{color:#45a049;text-decoration:underline}.resend-otp{border-top:1px solid #eee;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.resend-otp p{color:#666;font-size:.9rem;margin-bottom:.5rem}.resend-link{background:none;border:none;color:#4caf50;cursor:pointer;font-size:.9rem;font-weight:500;text-decoration:underline}.resend-link:hover:not(:disabled){color:#45a049}.resend-link:disabled{color:#999;cursor:not-allowed}@media (max-width:768px){.forgotpassword-container{padding:1rem}.forgotpassword-card{padding:2rem}.forgotpassword-title{font-size:1.5rem}.forgotpassword-actions{flex-direction:column}.forgotpassword-steps{gap:.25rem}.forgotpassword-step span{font-size:.7rem}}@media (max-width:480px){.forgotpassword-card{padding:1.5rem}.forgotpassword-icon{font-size:3rem}}.profile-container{margin:100px auto 2rem;max-width:600px;padding:0 1rem}.profile-card{background:#abde7c;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.profile-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.profile-title{color:#1a202c;margin:0}.profile-avatar,.profile-title{font-size:1.5rem;font-weight:600}.profile-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;height:60px;justify-content:center;width:60px}.profile-message{border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:12px 16px}.profile-message.success{background:#f0fff4;border:1px solid #9ae6b4;color:#2d7740}.profile-message.error{background:#fed7d7;border:1px solid #fc8181;color:#c53030}.profile-message.info{background:#bee3f8;border:1px solid #90cdf4;color:#2c5282}.profile-info{space-y:1.5rem}.info-item{margin-bottom:1.5rem}.info-item label{color:#4a5568;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.info-value{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#1a202c;font-size:1rem;padding:.75rem}.profile-form{space-y:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#4a5568;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.form-group input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.form-group input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.disabled-field{background:#f7fafc!important;color:#a0aec0!important}.field-note{color:#718096;display:block;font-size:.75rem;margin-top:.5rem}.form-actions,.profile-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.btn{border-radius:6px;display:flex;font-size:.875rem;font-weight:500;transition:all .2s}.btn-primary{background:#4299e1}.btn-primary:hover:not(:disabled){background:#3182ce;transform:translateY(-1px)}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.profile-skeleton{space-y:1.5rem}.skeleton-buttons,.skeleton-field,.skeleton-header{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:6px}.skeleton-header{height:2rem;width:50%}.skeleton-field{height:3.5rem}.skeleton-buttons{height:3rem;width:70%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.profile-error{padding:3rem 2rem;text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.profile-error h2{color:#1a202c;margin-bottom:1rem}.profile-error p{color:#718096;margin-bottom:2rem}.profile-retry-btn{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@media (max-width:640px){.profile-container{margin:1rem auto;padding:0 .5rem}.profile-card{padding:1.5rem}.profile-header{gap:1rem;text-align:center}.form-actions,.profile-actions,.profile-header{flex-direction:column}.btn{justify-content:center}}.header{background:#65dc32;box-shadow:0 2px 10px #0000001a;left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.home-icon,.home-text{color:#fff;font-family:Franklin Gothic Medium,Arial Narrow,Arial,sans-serif;font-size:30px}.logo{background-color:wheat;border-radius:50%;height:50px;text-align:center;width:180px}.header-container{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.logo h2{color:#333;font-size:1.5rem;font-weight:700;margin:0}.logo a{color:inherit;text-decoration:none}.nav-list{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-list li a{color:#333;font-weight:500;position:relative;text-decoration:none;transition:color .3s ease}.nav-list li a:hover{color:#fff}.nav-list li a:after{background:#007bff;bottom:-5px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-list li a:hover:after{width:100%}.cta-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.cta-button:hover{background:#0056b3;transform:translateY(-2px)}.menu-toggle{background:none;border:none;cursor:pointer;display:none;padding:5px}.hamburger{display:flex;flex-direction:column;height:20px;position:relative;width:25px}.hamburger span{background:#333;border-radius:3px;display:block;height:3px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger span:first-child,.hamburger span:nth-child(2){margin-bottom:5px}.hamburger-open span:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger-open span:nth-child(2){opacity:0}.hamburger-open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.profile-circle{align-items:center;-webkit-appearance:none;appearance:none;background:#ffffff24;border:none;border-radius:50%;box-shadow:0 1px 2px #0000000f;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;height:40px;justify-content:center;line-height:1;overflow:hidden;padding:0;transition:background .12s ease,transform .08s ease;width:40px}.profile-circle:hover{background:#ffffff38;transform:translateY(-2px)}.header-right{gap:12px;margin-left:12px}.auth-area,.header-right{align-items:center;display:flex}.auth-area{gap:10px}.auth-login{background:#0000;border:1px solid #ffffff0f;border-radius:8px;color:#fffffff2;font-weight:600;padding:8px 10px;text-decoration:none;transition:background .12s ease,transform .08s ease}.auth-login:hover{background:#ffffff0f;transform:translateY(-2px)}.auth-signup{align-items:center;background:#fff;border-radius:999px;box-shadow:0 6px 18px #00000014;color:#1f8b56;display:inline-flex;font-weight:700;justify-content:center;padding:8px 14px;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.auth-signup:hover{box-shadow:0 10px 28px #0000001f;transform:translateY(-3px)}@media (max-width:768px){.header-container{padding:0 15px}.menu-toggle{display:block}.nav{background:#fff;box-shadow:0 5px 10px #0000001a;left:0;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden}.nav-open{opacity:1;transform:translateY(0);visibility:visible}.nav-list{flex-direction:column;gap:0;padding:20px}.nav-list li{border-bottom:1px solid #eee}.nav-list li:last-child{border-bottom:none}.nav-list li a{display:block;font-size:1.1rem;padding:15px 0}.header-actions{display:none}}@media (max-width:480px){.header-container{height:60px}.logo h2{font-size:1.3rem}}@media (max-width:720px){.auth-area{gap:8px}.auth-signup{font-size:.9rem;padding:8px 10px}.auth-login{font-size:.9rem;padding:8px}}.header-scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.home{overflow-x:hidden}.hero-section{align-items:center;color:#fff;display:flex;justify-content:center;min-height:100vh;padding:0 1rem;position:relative;text-align:center}.hero-background{background:linear-gradient(135deg,#2d5016,#4a7c3a 50%,#6ba854);z-index:-2}.hero-background,.hero-background:before{bottom:0;left:0;position:absolute;right:0;top:0}.hero-background:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm48 25a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm-43-7a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm63 31a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM34 90a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm56-76a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21a2 2 0 1 0 .001-3.999A2 2 0 0 0 80 29zM60 91a2 2 0 1 0 .001-3.999A2 2 0 0 0 60 91zM35 41a2 2 0 1 0 .001-3.999A2 2 0 0 0 35 41zM12 60a2 2 0 1 0 .001-3.999A2 2 0 0 0 12 60z' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");content:"";opacity:.3}.hero-overlay{background:#0000004d;bottom:0;left:0;position:absolute;right:0;top:0;z-index:-1}.hero-content{max-width:800px;z-index:1}.hero-badge{margin-bottom:2rem}.hero-badge span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:50px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.hero-title{align-items:center;display:flex;font-size:4rem;font-weight:700;gap:1rem;justify-content:center;margin-bottom:1rem}.hero-icon{font-size:4.5rem}.hero-subtitle{font-size:1.5rem;margin-bottom:1.5rem;opacity:.9}.hero-description{font-size:1.2rem;line-height:1.6;margin-bottom:3rem;opacity:.8}.hero-actions-home{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:10px}.hero-scroll-indicator{bottom:2rem;font-size:.875rem;left:50%;opacity:.8;position:absolute;text-align:center;transform:translateX(-50%)}.scroll-arrow{animation:bounce 2s infinite;border-bottom:2px solid #fff;border-right:2px solid #fff;height:20px;margin:.5rem auto 0;transform:rotate(45deg);width:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:rotate(45deg) translateY(0)}40%{transform:rotate(45deg) translateY(-10px)}60%{transform:rotate(45deg) translateY(-5px)}}.section{padding:5rem 0}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.section-header{margin-bottom:4rem;text-align:center}.section-header h2{color:#2d5016;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-header p{color:#666;font-size:1.2rem;margin:0 auto;max-width:600px}.overview-section{background:#f8f9fa}.overview-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:2fr 1fr}.overview-text p{color:#555;font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.project-meta{flex-direction:column}.meta-item,.project-meta{display:flex;gap:1rem}.meta-item strong{color:#2d5016;min-width:120px}.status-active{color:#22c55e;font-weight:600}.visual-card{background:#fff;border-left:4px solid #4a7c3a;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;text-align:center}.card-icon{font-size:3rem;margin-bottom:1rem}.visual-card h3{color:#2d5016;margin-bottom:1rem}.works-steps{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.step-card{background:#fff;border-radius:12px;border-top:4px solid #4a7c3a;box-shadow:0 4px 6px #0000000d;padding:2rem;position:relative;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.step-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.step-number{align-items:center;background:#4a7c3a;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:30px;justify-content:center;left:50%;position:absolute;top:-15px;transform:translateX(-50%);width:30px}.step-icon{font-size:3rem;margin-bottom:1rem}.step-title{color:#2d5016;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.step-description{color:#666;line-height:1.6}.data-section{background:#f8f9fa}.data-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.data-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:2rem;text-align:center;transition:transform .3s ease}.data-card:hover{transform:translateY(-3px)}.data-icon{font-size:3rem;margin-bottom:1rem}.data-card h3{color:#2d5016;margin-bottom:.5rem}.data-unit{color:#666;font-weight:600}.analysis-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.analysis-text h2{color:#2d5016;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}.analysis-text>p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.analysis-features{list-style:none;padding:0}.analysis-features li{align-items:center;color:#555;display:flex;font-size:1.1rem;gap:1rem;margin-bottom:1rem}.check-icon{color:#22c55e;font-size:1.2rem;font-weight:700}.visual-placeholder{align-items:center;background:linear-gradient(135deg,#f0f7ff,#e6f7e6);border:2px dashed #4a7c3a;border-radius:12px;display:flex;flex-direction:column;height:300px;justify-content:center;padding:3rem 2rem;text-align:center}.placeholder-icon{font-size:4rem;margin-bottom:1rem}.visual-placeholder p{color:#2d5016;font-weight:600;margin-bottom:.5rem}.visual-placeholder small{color:#666}.contributors-section{background:#f8f9fa}.contributors-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:2fr 1fr}.contributors-text p{color:#555;font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.contributors-actions{display:flex;flex-wrap:wrap;gap:1rem}.contributors-stats{display:flex;flex-direction:column;gap:2rem}.stat{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:2rem;text-align:center}.stat-number{color:#4a7c3a;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#666;font-weight:600}.cta-section{background:linear-gradient(135deg,#2d5016,#4a7c3a);color:#fff;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-content p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn{border-radius:8px;padding:.75rem 1.5rem}.btn-primary{background:#4a7c3a;color:#fff}.btn-primary:hover{background:#3a6c2a;box-shadow:0 4px 12px #4a7c3a4d;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #fff;color:#fff}.btn-secondary:hover{background:#fff;color:#4a7c3a;transform:translateY(-2px)}.btn-large{font-size:1.1rem;padding:1rem 2rem}@media (max-width:768px){.hero-title{flex-direction:column;font-size:2.5rem;gap:.5rem}.hero-icon{font-size:3rem}.analysis-content,.contributors-content,.overview-content{gap:2rem;grid-template-columns:1fr}.works-steps{grid-template-columns:1fr}.data-grid{grid-template-columns:repeat(2,1fr)}.contributors-actions,.cta-actions,.hero-actions{align-items:center;flex-direction:column}.btn{max-width:300px;width:100%}.container{padding:0 1rem}.section{padding:3rem 0}}@media (max-width:480px){.data-grid{grid-template-columns:1fr}.hero-title,.section-header h2{font-size:2rem}}.image-container{height:500px;position:relative;width:500px}.map-image{height:100%;object-fit:cover;width:100%}.grid-overlay{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:100%;left:0;position:absolute;top:0;width:100%}.grid-box{border:1px solid #ffffff80;position:relative}.grid-label{background:#0009;border-radius:4px;color:#fff;font-size:12px;left:5px;padding:2px 5px;position:absolute;top:5px}.layout{display:flex;gap:40px;justify-content:center;margin-top:20px}table{border-collapse:collapse;width:300px}td,th{border:1px solid #aaa;padding:6px;text-align:center}input{width:60px}.app-container{background:#f7fafc;display:flex;flex-direction:column;margin-top:90px;min-height:100vh}.app-header{background:linear-gradient(90deg,#0f766e,#0b5f5a);box-shadow:0 2px 6px #00000014;color:#fff;padding:calc(12px + env(safe-area-inset-top, 0px)) 16px 12px;position:-webkit-sticky;position:sticky;top:0;transition:padding .2s ease-in-out,box-shadow .2s ease-in-out;z-index:100}.app-header.scrolled{box-shadow:0 4px 12px #0000001f;padding-bottom:10px;padding-top:calc(10px + env(safe-area-inset-top, 0px))}.header-content{gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.brand,.header-content{align-items:center;display:flex}.brand{gap:12px}.brand-logo{align-items:center;background:#ffffff2e;border-radius:50%;display:flex;font-size:13px;font-weight:800;height:32px;justify-content:center;letter-spacing:.5px;width:32px}.brand-text h1{font-size:18px;font-weight:800;line-height:1;margin:0}.brand-text .subtitle{font-size:12px;margin-top:2px;opacity:.9}.header-actions{align-items:center;display:flex;gap:10px}.upload-btn{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:8px 12px}.main-content-wrapper{flex:1 1 auto;overflow-y:auto;padding:16px}.main-content{display:flex;flex-wrap:wrap;gap:16px;margin:0 auto;max-width:1200px;width:100%}.left-panel,.right-panel{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000f;flex:1 1 420px;min-width:320px;padding:12px}.empty-state{border:2px dashed #cbd5e1;border-radius:10px;color:#64748b;padding:28px 16px;text-align:center}.app-footer{align-items:center;background:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;gap:12px;justify-content:space-between;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));position:-webkit-sticky;position:sticky;z-index:90}.file-name{color:#6b7280;font-size:12px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-actions{display:flex;gap:8px}.analyze-btn{background:#009688;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:24px;padding:12px;transition:background .2s;width:100%}.analyze-btn:hover{background:#00796b}.reset-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;display:inline-flex;gap:6px;justify-content:center;padding:8px 14px}@media (max-width:768px){.left-panel,.right-panel{min-width:300px}}@media (max-width:640px){.app-header{padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px}.brand,.header-content{gap:8px}.brand-logo{font-size:12px;height:28px;width:28px}.brand-text h1{font-size:15px}.brand-text .subtitle{display:none}.upload-btn{gap:6px;padding:8px 10px}.upload-btn span:not([aria-hidden=true]){display:none}.main-content-wrapper{padding:12px}.main-content{gap:12px}.left-panel,.right-panel{padding:10px}.app-footer{gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px))}.file-name{max-width:50vw}.footer-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;width:50%}.analyze-btn,.reset-btn{width:100%}.reset-btn span:not([aria-hidden=true]){display:none}}.soil-analysis-container{align-items:center;background:linear-gradient(135deg,#f0f7f0,#e8f5e8);display:flex;justify-content:center;margin-top:100px;min-height:100vh;padding:2rem 1rem}.soil-analysis-card{background:#fff;border:1px solid #e8f5e8;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:600px;padding:3rem;width:100%}.analysis-header{margin-bottom:2.5rem;text-align:center}.header-icon{font-size:4rem;margin-bottom:1rem}.analysis-title{color:#2d5016;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.analysis-subtitle{color:#666;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:400px}.upload-area{background:#f9fdf9;border:2px dashed #c8e6c9;border-radius:16px;cursor:pointer;margin-bottom:1.5rem;padding:2.5rem;position:relative;text-align:center;transition:all .3s ease}.upload-area:hover{background:#f1f8e9;border-color:#4caf50}.upload-area.drag-active{background:#e8f5e8;border-color:#4caf50;transform:scale(1.02)}.upload-area.has-preview{background:#fff;border-style:solid;padding:0}.file-input{display:none}.upload-content{padding:1rem}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text h3{color:#2d5016;font-size:1.3rem;margin-bottom:.5rem}.upload-text p{color:#666;margin-bottom:1.5rem}.upload-requirements{color:#888;display:flex;font-size:.875rem;gap:2rem;justify-content:center}.preview-container{width:100%}.preview-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.preview-header h4{color:#2d5016;margin:0}.preview-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;width:30px}.preview-close:hover{background:#f5f5f5;color:#333}.image-preview{padding:1.5rem;position:relative}.image-preview img{border-radius:12px;box-shadow:0 4px 12px #0000001a;display:block;margin:0 auto;max-height:300px;max-width:100%}.preview-overlay{align-items:center;background:#000000b3;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;margin:1.5rem;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.image-preview:hover .preview-overlay{opacity:1}.change-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;color:#fff;font-weight:600;padding:.5rem 1rem}.file-info{background:#f9f9f9;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.file-name{color:#333;font-weight:500}.file-size{color:#666;font-size:.875rem}.status-message{align-items:center;border-radius:12px;display:flex;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.status-message.loading{background:#e3f2fd;border:1px solid #bbdefb;color:#1976d2}.status-message.success{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.status-message.error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.status-icon{align-items:center;display:flex;height:20px;justify-content:center;width:20px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.analysis-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:140px;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn-primaryone{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;flex:1 1}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #4caf504d;transform:translateY(-2px)}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;color:#666}.btn-secondary:hover:not(:disabled){background:#e0e0e0;transform:translateY(-1px)}.btn-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.btn-icon{font-size:1.1rem}.soilanalysis-features{margin-bottom:2rem}.analysis-features h4{color:#2d5016;margin-bottom:1rem;text-align:center}.features-soilgrid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.feature-item{align-items:center;background:#f9fdf9;border:1px solid #e8f5e8;border-radius:12px;color:#555;display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;padding:1rem;text-align:center}.feature-icon{font-size:1.5rem}.auth-notice{align-items:center;background:#fff8e1;border:1px solid #ffecb3;border-radius:12px;display:flex;gap:1rem;padding:1.5rem}.notice-icon{flex-shrink:0;font-size:1.5rem}.notice-content{flex:1 1}.notice-content p{color:#666;font-size:.9rem;margin:0 0 .5rem}.auth-link{background:none;border:none;color:#ff9800;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.auth-link:hover{color:#f57c00}@media (max-width:768px){.soil-analysis-card{margin:1rem;padding:2rem 1.5rem}.analysis-title{font-size:2rem}.upload-area{padding:2rem 1rem}.upload-requirements{flex-direction:column;gap:.5rem}.features-grid{grid-template-columns:repeat(2,1fr)}.analysis-actions{flex-direction:column}.btn{min-width:auto}.auth-notice{flex-direction:column;text-align:center}}@media (max-width:480px){.soil-analysis-container{padding:1rem .5rem}.soil-analysis-card{padding:1.5rem 1rem}.analysis-title{font-size:1.75rem}.features-grid{grid-template-columns:1fr}.image-preview img{max-height:200px}}.aboutpage-container{overflow-x:hidden}.aboutpage-container-inner{margin:0 auto;max-width:1200px;padding:0 2rem}.aboutpage-hero{align-items:center;background:linear-gradient(135deg,#1b5e20,#2e7d32 50%,#4caf50);color:#fff;display:flex;min-height:70vh;position:relative;text-align:center}.aboutpage-hero-background{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.aboutpage-hero-pattern{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm48 25a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm-43-7a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm63 31a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM34 90a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm56-76a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21a2 2 0 1 0 .001-3.999A2 2 0 0 0 80 29zM60 91a2 2 0 1 0 .001-3.999A2 2 0 0 0 60 91zM35 41a2 2 0 1 0 .001-3.999A2 2 0 0 0 35 41zM12 60a2 2 0 1 0 .001-3.999A2 2 0 0 0 12 60z' fill-opacity='.1' fill-rule='evenodd'/%3E%3C/svg%3E");bottom:0;left:0;opacity:.3;position:absolute;right:0;top:0}.aboutpage-hero-content{margin:0 auto;max-width:800px;padding:4rem 2rem;position:relative;z-index:2}.aboutpage-hero-badge{margin-bottom:2rem}.aboutpage-hero-badge span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:50px;font-size:.875rem;font-weight:600;padding:.5rem 1.5rem}.aboutpage-hero-title{align-items:center;display:flex;font-size:4rem;font-weight:700;gap:1rem;justify-content:center;margin-bottom:1rem}.aboutpage-hero-icon{font-size:4.5rem}.aboutpage-hero-subtitle{font-size:1.5rem;margin-bottom:1.5rem;opacity:.9}.aboutpage-hero-description{font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:600px;opacity:.8}.aboutpage-section-header{margin-bottom:4rem;text-align:center}.aboutpage-section-header h2{color:#1b5e20;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.aboutpage-section-header p{color:#666;font-size:1.2rem;margin:0 auto;max-width:600px}.aboutpage-mission{background:#f8f9fa;padding:5rem 0}.aboutpage-mission-grid{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.aboutpage-mission-card,.aboutpage-vision-card{background:#fff;border-radius:20px;border-top:4px solid #4caf50;box-shadow:0 10px 30px #0000001a;padding:3rem;text-align:center}.aboutpage-mission-icon,.aboutpage-vision-icon{font-size:4rem;margin-bottom:1.5rem}.aboutpage-mission-card h2,.aboutpage-vision-card h2{color:#1b5e20;font-size:2rem;margin-bottom:1.5rem}.aboutpage-mission-card p,.aboutpage-vision-card p{color:#555;font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.aboutpage-vision-quote{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);border-left:4px solid #4caf50;border-radius:12px;padding:2rem;position:relative}.aboutpage-quote-icon{color:#4caf50;font-size:3rem;margin-bottom:1rem}.aboutpage-vision-quote p{color:#2e7d32;font-size:1.2rem;font-style:italic;margin-bottom:1rem}.aboutpage-quote-earth{font-size:2rem}.aboutpage-story{padding:5rem 0}.aboutpage-story-content{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:2fr 1fr}.aboutpage-story-point{align-items:flex-start;display:flex;gap:2rem;margin-bottom:3rem}.aboutpage-point-icon{flex-shrink:0;font-size:3rem}.aboutpage-point-content h3{color:#1b5e20;font-size:1.5rem;margin-bottom:1rem}.aboutpage-point-content p{color:#555;font-size:1.1rem;line-height:1.7}.aboutpage-impact-stats{display:flex;flex-direction:column;gap:2rem}.aboutpage-impact-stat{background:#fff;border-left:4px solid #4caf50;border-radius:16px;box-shadow:0 5px 20px #0000001a;padding:2rem;text-align:center}.aboutpage-stat-number{color:#1b5e20;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.aboutpage-stat-label{color:#666;font-size:.9rem}.aboutpage-features{background:#f8f9fa;padding:5rem 0}.aboutpage-features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.aboutpage-feature-card{background:#fff;border-radius:16px;border-top:4px solid #4caf50;box-shadow:0 5px 20px #0000001a;padding:2.5rem;transition:transform .3s ease,box-shadow .3s ease}.aboutpage-feature-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.aboutpage-feature-header{margin-bottom:2rem;text-align:center}.aboutpage-feature-icon{font-size:3rem;margin-bottom:1rem}.aboutpage-feature-card h3{color:#1b5e20;font-size:1.5rem;margin-bottom:1rem}.aboutpage-feature-desc{color:#666;font-size:1rem;margin-bottom:1.5rem}.aboutpage-feature-details{list-style:none;padding:0}.aboutpage-feature-details li{align-items:flex-start;color:#555;display:flex;gap:.75rem;line-height:1.5;margin-bottom:.75rem}.aboutpage-detail-check{color:#4caf50;flex-shrink:0;font-weight:700;margin-top:.1rem}.aboutpage-process{padding:5rem 0}.aboutpage-process-steps{display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:800px}.aboutpage-process-step{align-items:flex-start;display:flex;gap:2rem}.aboutpage-step-number{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;width:60px}.aboutpage-step-content{flex:1 1}.aboutpage-step-content h3{color:#1b5e20;font-size:1.5rem;margin-bottom:1rem}.aboutpage-step-content p{color:#555;font-size:1.1rem;margin-bottom:1.5rem}.aboutpage-analysis-features,.aboutpage-data-parameters,.aboutpage-recommendation-features{grid-gap:1rem;display:grid;gap:1rem}.aboutpage-parameter-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;padding:1rem}.aboutpage-param-icon{font-size:1.5rem}.aboutpage-param-info{display:flex;flex-direction:column}.aboutpage-param-info strong{color:#333}.aboutpage-param-info span{color:#666;font-size:.9rem}.aboutpage-analysis-features{grid-template-columns:repeat(2,1fr)}.aboutpage-analysis-item{background:#e8f5e8;border-radius:8px;color:#2e7d32;font-weight:500;padding:1rem;text-align:center}.aboutpage-recommendation-features{grid-template-columns:repeat(3,1fr)}.aboutpage-rec-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.aboutpage-rec-icon{font-size:1.5rem}.aboutpage-team{background:#f8f9fa;padding:5rem 0}.aboutpage-team-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.aboutpage-team-join-card{align-items:center;background:linear-gradient(135deg,#1b5e20,#2e7d32);border-radius:16px;box-shadow:0 5px 20px #0000001a;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.aboutpage-join-icon{font-size:3rem;margin-bottom:1rem}.aboutpage-team-join-card h3{margin-bottom:1rem}.aboutpage-team-join-card p{margin-bottom:2rem;opacity:.9}.aboutpage-cta{background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff;padding:5rem 0;text-align:center}.aboutpage-cta-content h2{font-size:2.5rem;margin-bottom:1rem}.aboutpage-cta-content p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.aboutpage-cta-actions{gap:1rem;margin-bottom:3rem}.aboutpage-cta-actions,.aboutpage-cta-stats{display:flex;flex-wrap:wrap;justify-content:center}.aboutpage-cta-stats{gap:3rem}.aboutpage-cta-stats .aboutpage-stat{text-align:center}.aboutpage-cta-stats .aboutpage-stat-number{font-size:2rem;font-weight:700;margin-bottom:.5rem}.aboutpage-cta-stats .aboutpage-stat-label{color:#fffc;font-size:.9rem}.aboutpage-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.aboutpage-btn-primary{background:#4caf50;color:#fff}.aboutpage-btn-primary:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.aboutpage-btn-secondary{background:#0000;border:2px solid #fff;color:#fff}.aboutpage-btn-secondary:hover{background:#fff;color:#4caf50;transform:translateY(-2px)}.aboutpage-btn-large{font-size:1.1rem;padding:1rem 2rem}@media (max-width:768px){.aboutpage-hero-title{flex-direction:column;font-size:2.5rem;gap:.5rem}.aboutpage-mission-grid,.aboutpage-story-content{gap:2rem;grid-template-columns:1fr}.aboutpage-process-step{flex-direction:column;text-align:center}.aboutpage-analysis-features,.aboutpage-recommendation-features{grid-template-columns:1fr}.aboutpage-cta-actions{align-items:center;flex-direction:column}.aboutpage-btn{min-width:200px}.aboutpage-container-inner{padding:0 1rem}}@media (max-width:480px){.aboutpage-hero-title,.aboutpage-section-header h2{font-size:2rem}.aboutpage-feature-card,.aboutpage-mission-card,.aboutpage-vision-card{padding:2rem 1.5rem}.aboutpage-cta-stats{gap:1.5rem}}.contact-container{align-items:center;background:linear-gradient(135deg,#f0f7f0,#e8f5e8);display:flex;justify-content:center;min-height:100vh;padding:2rem}.contact-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:3rem;text-align:center;width:100%}.contact-icon{font-size:4rem;margin-bottom:1rem}.contact-title{color:#2d5016;font-size:2rem;font-weight:700;margin-bottom:1rem}.contact-message{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.connect-btn{background:#4caf50;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.connect-btn:hover{background:#45a049;transform:translateY(-2px)}@media (max-width:480px){.contact-card{margin:1rem;padding:2rem}.contact-title{font-size:1.5rem}}
/*# sourceMappingURL=main.cddac89a.css.map*/