*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green-900: #0d2818;--green-800: #1a3d2e;--green-700: #2d5a3d;--green-600: #3d7a52;--green-500: #4caf6e;--green-100: #e8f5ec;--gold: #c9a227;--gold-light: #f5e6a3;--white: #ffffff;--gray-50: #f8faf9;--gray-100: #eef2f0;--gray-300: #c5cdc8;--gray-500: #6b7c72;--gray-700: #3d4a42;--red: #dc3545;--shadow: 0 4px 24px rgba(13, 40, 24, .12);--radius: 12px;--font: "DM Sans", system-ui, sans-serif}body{font-family:var(--font);background:linear-gradient(#051208b8,#051208cc),url(https://images.unsplash.com/photo-1587174486073-ae5e5cff23aa?w=1920&q=80&auto=format&fit=crop) center 60% / cover no-repeat fixed;min-height:100vh;color:var(--gray-700);line-height:1.6}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.page{min-height:100vh;display:flex;flex-direction:column}.header{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#081910d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-actions,.nav-auth{display:flex;align-items:center;gap:.75rem}.nav-email{font-size:.85rem;color:#ffffffd9;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link,.nav-btn{font-size:.9rem;font-weight:500;border-radius:var(--radius);transition:all .2s}.nav-link{color:var(--white);text-decoration:none;padding:.5rem 1rem;border:1.5px solid rgba(255,255,255,.35)}.nav-link:hover{background:#ffffff1a;border-color:#fff9}.nav-link-primary{font-size:.9rem;font-weight:600;border-radius:var(--radius);transition:all .2s;color:var(--green-900);text-decoration:none;padding:.5rem 1rem;background:var(--white);border:1.5px solid var(--white)}.nav-link-primary:hover{background:var(--green-100);border-color:var(--green-100)}.nav-btn{padding:.5rem 1rem;background:transparent;border:1.5px solid rgba(255,255,255,.35);color:var(--white)}.nav-btn:hover{background:#ffffff1a;border-color:#fff9}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem}.auth-tab{padding:.65rem 1rem;border:1.5px solid var(--gray-300);border-radius:var(--radius);background:var(--white);color:var(--gray-700);font-size:.9rem;font-weight:500;transition:all .2s}.auth-tab:hover{border-color:var(--green-500)}.auth-tab.active{border-color:var(--green-600);background:var(--green-600);color:var(--white)}.field input[type=email],.field input[type=password]{width:100%;padding:.75rem 1rem;border:1.5px solid var(--gray-300);border-radius:var(--radius);font-size:.95rem;transition:border-color .2s}.field input[type=email]:focus,.field input[type=password]:focus{outline:none;border-color:var(--green-500)}.success-banner{background:var(--green-100);border:1px solid rgba(76,175,110,.35);color:var(--green-900);padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.email-confirmed-banner{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:var(--green-100);border-bottom:1px solid rgba(76,175,110,.35);color:var(--green-900);font-size:.9rem;font-weight:500}.email-confirmed-dismiss{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--green-900);font-size:1.25rem;line-height:1;cursor:pointer}.email-confirmed-dismiss:hover{background:#4caf6e33}.dev-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-light);background:#c9a22740;border:1px solid rgba(201,162,39,.5);padding:.25rem .6rem;border-radius:999px}.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--white)}.logo-icon{width:36px;height:36px;background:var(--green-500);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.card{background:var(--white);border-radius:20px;box-shadow:var(--shadow);width:100%;max-width:560px;padding:2.5rem}.card-wide{max-width:720px}.card-landing{max-width:580px;background:#fffffff7;border-radius:16px;box-shadow:0 8px 40px #00000073,0 2px 8px #0003;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.landing-tagline{font-size:15px;font-style:italic;color:#4b5563;margin:-8px 0 16px;letter-spacing:.3px}.card-landing .subtitle{font-size:16px;color:#374151;font-weight:500}.card-landing .upload-field-hint,.card-landing .upload-zone-helper,.card-landing .upload-hint,.card-landing .upload-formats{color:#374151}.card h1{font-size:1.75rem;font-weight:700;color:var(--green-900);margin-bottom:.5rem;letter-spacing:-.02em}.card .subtitle{color:var(--gray-500);margin-bottom:2rem;font-size:.95rem}.field{margin-bottom:1.25rem}.field label{display:block;font-size:.85rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.field input[type=text],.field input[type=url],.field textarea{width:100%;padding:.75rem 1rem;border:1.5px solid var(--gray-300);border-radius:var(--radius);font-size:.95rem;transition:border-color .2s;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--green-500)}.dev-field{margin-bottom:1.5rem;padding:1rem;border:1.5px dashed var(--gray-300);border-radius:var(--radius);background:var(--gray-50)}.dev-field label{display:block;font-size:.8rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.dev-field input[type=url]{width:100%;padding:.75rem 1rem;border:1.5px solid var(--gray-300);border-radius:var(--radius);font-size:.95rem}.dev-field input:focus{outline:none;border-color:var(--green-500)}.dev-hint{margin-top:.5rem;font-size:.8rem;color:var(--gray-500)}.video-uploads{margin-bottom:1rem}.film-tips{margin-bottom:1.5rem}.film-tips-toggle{font-size:.8rem;color:var(--green-600);background:none;border:none;padding:0;cursor:pointer;font-weight:500;text-align:left}.film-tips-toggle:hover{color:var(--green-700)}.film-tips-box{margin-top:.5rem;background:var(--gray-50);border-radius:var(--radius);padding:.75rem 1rem}.film-tips-list{font-size:.8rem;color:#6b7280;line-height:1.6;padding-left:1.1rem;margin:0}.film-tips-list li{margin-bottom:.35rem}.film-tips-list li:last-child{margin-bottom:0}.film-tips-list strong{color:#4b5563;font-weight:600}.upload-field{margin-bottom:1.25rem}.upload-field:last-child{margin-bottom:0}.upload-field-hint{font-size:.8rem;color:var(--gray-500);margin-bottom:1rem}.upload-label{display:block;font-size:.85rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.upload-field-optional .upload-label{color:var(--gray-500);font-weight:500;font-size:.8rem}.upload-field-optional .upload-zone{min-height:130px;padding:1.25rem 1.5rem;border:2px dashed #d1d5db;border-radius:16px;background:#fafafa}.upload-field-optional .upload-zone:hover,.upload-field-optional .upload-zone.drag-over{border-color:#c5cdc8;background:#f5f5f5;box-shadow:none;transform:none}.upload-field-optional .upload-zone.has-file{border-color:#c5cdc8;background:var(--gray-50)}.upload-field-optional .upload-icon{font-size:2rem;margin-bottom:.5rem}.upload-field-optional .upload-zone.has-file .upload-icon{width:48px;height:48px;font-size:1.25rem;background:var(--gray-500)}.upload-field-optional .upload-title{font-size:.9rem;font-weight:500;color:var(--gray-700);margin-bottom:.25rem}.upload-field-optional .upload-hint{font-size:.75rem;color:#9ca3af}.upload-field-optional .upload-formats{margin-top:.35rem;font-size:.7rem;color:#9ca3af;background:#ffffff80}.upload-field-optional .upload-zone .filename{font-size:.8rem;color:var(--gray-700)}.upload-zone-helper{margin-bottom:.5rem;font-size:.8rem;color:var(--gray-500);line-height:1.5}.upload-zone{border:3px dashed var(--green-500);border-radius:20px;padding:4.5rem 2.5rem;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#edf7f0 0%,var(--green-100) 100%);transition:border-color .2s,background .2s,transform .15s,box-shadow .2s;cursor:pointer}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--green-600);background:linear-gradient(180deg,#e4f3e9,#dff0e4);box-shadow:0 8px 32px #0d28181f,0 0 0 4px #4caf6e1f;transform:translateY(-2px)}.upload-zone.has-file{border-style:solid;border-color:var(--green-600);background:var(--green-100)}.upload-zone input{display:none}.upload-icon{font-size:4.5rem;margin-bottom:1.25rem;line-height:1}.upload-zone.has-file .upload-icon{width:72px;height:72px;font-size:2rem;background:var(--green-600);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center}.upload-title{font-size:1.35rem;font-weight:600;color:var(--green-900);margin-bottom:.5rem}.upload-hint{color:var(--gray-500);font-size:.95rem}.upload-formats{margin-top:.75rem;padding:.35rem .85rem;background:#ffffffb3;border-radius:999px;color:var(--gray-500);font-size:.8rem;font-weight:500}.upload-zone .filename{color:var(--green-700);font-weight:600;font-size:.95rem;margin-bottom:.35rem;word-break:break-all}.club-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.club-btn{padding:.85rem 1rem;border:1.5px solid var(--gray-300);border-radius:var(--radius);background:var(--white);font-size:.95rem;font-weight:500;color:var(--gray-700);transition:all .2s}.club-btn:hover{border-color:var(--green-500);background:var(--green-100)}.club-btn.selected{border-color:var(--green-600);background:var(--green-600);color:var(--white)}.submit-btn{width:100%;padding:1rem;margin-top:.5rem;background:var(--green-600);color:var(--white);border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.submit-btn:hover:not(:disabled){background:var(--green-700)}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:var(--red);padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.loading-overlay{text-align:center;padding:3rem 2rem}.spinner{width:48px;height:48px;border:4px solid var(--gray-100);border-top-color:var(--green-500);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay h2{color:var(--green-900);margin-bottom:.5rem}.loading-overlay p{color:var(--gray-500)}.score-ring{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.score-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--green-500) calc(var(--score) * 3.6deg),var(--gray-100) 0);display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:.75rem}.score-circle:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;background:var(--white);border-radius:50%}.score-value{position:relative;font-size:2rem;font-weight:700;color:var(--green-900)}.score-label{font-size:.85rem;color:var(--gray-500);font-weight:500}.result-section{margin-bottom:1.5rem;padding:1.25rem;border-radius:var(--radius);background:var(--gray-50);border-left:4px solid var(--green-500)}.result-section.highlight{background:var(--green-100);border-left-color:var(--gold)}.result-section.fix{border-left-color:var(--gold)}.result-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin-bottom:.4rem;font-weight:600}.result-section p{color:var(--gray-700);font-size:.95rem}.back-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.25rem;background:transparent;border:1.5px solid var(--gray-300);border-radius:var(--radius);color:var(--gray-700);font-weight:500;font-size:.9rem;margin-top:1rem;transition:all .2s}.back-btn:hover{border-color:var(--green-500);color:var(--green-700)}.powered-by{margin-top:1.5rem;text-align:center;font-size:.75rem;color:var(--gray-500)}.footer-disclaimer{font-size:11px;color:#ffffff73;text-align:center;margin:0 auto 8px;max-width:480px;line-height:1.5}.site-footer{text-align:center;padding:1.5rem;font-size:.85rem;color:#ffffff80}.footer-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem;margin-bottom:.75rem}.footer-nav a{color:#ffffffa6;text-decoration:none;font-size:.85rem}.footer-nav a:hover{color:#ffffffe6;text-decoration:underline}.footer-nav-sep{color:#ffffff59}.legal-content h1{margin-bottom:.25rem}.legal-updated{font-size:.85rem;color:var(--gray-500);margin-bottom:1.5rem}.legal-content h2{font-size:1.05rem;font-weight:600;color:var(--green-900);margin:1.75rem 0 .75rem}.legal-content p,.legal-content li{font-size:.95rem;color:var(--gray-700);line-height:1.7;margin-bottom:.75rem}.legal-content ul,.legal-content ol{padding-left:1.25rem;margin-bottom:.75rem}.legal-content li{margin-bottom:.65rem}.legal-content a{color:var(--green-700);text-decoration:underline}.legal-content a:hover{color:var(--green-900)}.legal-back{display:inline-flex;margin-top:1.5rem;text-decoration:none}.password-input-wrap{display:flex;flex-direction:column}.password-hint{display:block;font-size:12px;color:#6b7280;margin-top:6px;margin-bottom:0;line-height:1.5}.rate-limit-message{margin:2rem 0 1.5rem;padding:1.75rem 1.5rem;border-radius:var(--radius);background:var(--green-100);border:1.5px solid rgba(76,175,110,.35);text-align:center}.rate-limit-message p{font-size:1.05rem;line-height:1.7;color:var(--green-900)}.feedback-section{margin:2rem 0 1.5rem;padding:1.5rem;border-radius:var(--radius);background:var(--gray-50);border:1.5px solid var(--gray-100)}.feedback-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin-bottom:1rem;font-weight:600}.feedback-section .field:last-of-type{margin-bottom:1rem}.feedback-submit{margin-top:0}.feedback-success{text-align:center;background:var(--green-100);border-color:#4caf6e59}.feedback-success p{font-size:1rem;font-weight:600;color:var(--green-900)}.star-rating{display:flex;gap:.35rem}.star-btn{padding:.15rem;border:none;background:none;font-size:1.75rem;line-height:1;color:var(--gray-300);transition:color .15s,transform .1s}.star-btn:hover,.star-btn.filled{color:var(--gold)}.star-btn:active{transform:scale(.92)}@media(max-width:600px){.nav-email{display:none}.card{padding:1.75rem}.upload-zone{min-height:240px;padding:3rem 1.5rem}.upload-icon{font-size:3.5rem}.club-grid{grid-template-columns:1fr 1fr}}
