:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.navigation{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid var(--border-color);z-index:1000}.nav-container{max-width:1440px;margin:0 auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.75rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:color .2s;letter-spacing:-.025em}.nav-logo:hover{color:var(--primary-color)}.nav-links{display:flex;gap:.5rem;align-items:center}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;padding:.625rem 1.25rem;border-radius:4px;transition:all .2s ease;background:transparent;border:none;cursor:pointer;font-size:.9375rem}.nav-link:hover{color:var(--text-primary)}.btn-logout{color:var(--text-secondary)}.btn-logout:hover{color:var(--error-color)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.hamburger-line{width:25px;height:2px;background-color:var(--text-primary);transition:all .3s ease;border-radius:2px}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}@media(max-width:768px){.nav-container{padding:1rem 1.5rem}.nav-logo{font-size:1.5rem}.hamburger{display:flex}.nav-links{position:fixed;top:70px;right:-100%;width:280px;height:calc(100vh - 70px);background:#fff;flex-direction:column;gap:0;padding:1rem 0;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;align-items:stretch;z-index:999}.nav-links.open{right:0}.nav-link{padding:1rem 1.5rem;border-radius:0;text-align:left;width:100%;border-bottom:1px solid var(--border-color)}.nav-link:hover{background:var(--background-secondary);color:var(--text-primary)}.btn-logout:hover{background:#fee2e2;color:var(--error-color)}}.auth-container{width:100%;display:flex;justify-content:center;align-items:center;padding:3rem 2rem;min-height:calc(100vh - 70px);background:var(--background)}.auth-card{background:var(--card-background);padding:3rem;border-radius:8px;box-shadow:var(--shadow-lg);width:100%;max-width:450px}.auth-card h1{margin-bottom:.75rem;color:var(--text-primary);text-align:center;font-size:2rem;font-weight:700;letter-spacing:-.025em}.auth-card form{display:flex;flex-direction:column;margin-top:2rem}.auth-card button[type=submit]{margin-top:1.5rem;padding:1rem;font-size:1rem}.auth-link{margin-top:2rem;text-align:center;color:var(--text-secondary);font-size:.9375rem}.auth-link a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:color .2s ease}.auth-link a:hover{color:var(--primary-dark);text-decoration:underline}.verification-info{text-align:center;color:var(--text-secondary);margin-bottom:2rem;line-height:1.7;font-size:.9375rem;background:var(--background-secondary);padding:1rem;border-radius:4px}.verification-info strong{color:var(--primary-color);font-weight:600}.link-button{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-size:inherit}.link-button:hover{color:var(--primary-dark)}@media(max-width:768px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}}.vote-container{max-width:1200px;width:100%;padding:3rem 2rem}.vote-header{text-align:center;margin-bottom:3rem}.vote-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-top:2rem;margin-bottom:2rem;letter-spacing:-.025em}.photo-counter{color:var(--text-secondary);font-size:1.125rem;font-weight:500}.photo-card{background:var(--card-background);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;margin-bottom:2rem;transition:all .3s ease}.photo-card:hover{box-shadow:var(--shadow-xl)}.photo-display{width:100%;background:#000;display:flex;justify-content:center;align-items:center;min-height:300px}.photo-image{width:100%;height:auto;object-fit:contain;display:block}.photo-info{padding:2rem;background:#fff}.photo-info h2{color:var(--text-primary);font-size:1.875rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.025em}.photo-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.7;font-size:1rem}.photo-meta{display:flex;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.photo-votes,.photo-date{color:var(--text-muted);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.vote-buttons{display:flex;gap:1rem;justify-content:center}.vote-buttons button{padding:1rem 3rem;font-size:1rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow);letter-spacing:.025em}.btn-no{background:#fff;color:var(--text-primary);border:2px solid var(--border-color)}.btn-no:hover:not(:disabled){background:var(--background-secondary);border-color:var(--text-secondary)}.btn-yes{background:var(--primary-color);color:#fff}.btn-yes:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md)}.vote-buttons button:disabled{opacity:.5;cursor:not-allowed}.no-photos{text-align:center;padding:5rem 2rem;background:#fff;border-radius:8px;max-width:600px;margin:3rem auto;box-shadow:var(--shadow-lg)}.no-photos h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.875rem;font-weight:700}.no-photos p{color:var(--text-secondary);margin-bottom:.5rem;font-size:1rem;line-height:1.7}.no-photos button{margin-top:2rem}@media(max-width:768px){.vote-container{padding:1rem}.photo-info{padding:1.5rem}.vote-buttons{flex-direction:column}.vote-buttons button{width:100%}}.submit-container{max-width:800px;width:100%;padding:3rem 2rem}.submit-container h1{color:var(--text-primary);margin-top:2rem;margin-bottom:4rem;text-align:center;font-size:2.5rem;font-weight:700;letter-spacing:-.025em}.submit-info{text-align:center;color:var(--text-secondary);margin-bottom:3rem;line-height:1.7;font-size:1rem}.submit-container .error-message,.submit-container .success-message{margin-bottom:1.5rem;border-radius:4px}.submit-form{background:var(--card-background);padding:2.5rem;border-radius:8px;box-shadow:var(--shadow-lg)}.submit-form textarea{resize:vertical;min-height:120px}.image-upload-section{margin-bottom:2rem}.image-upload-label{display:block;padding:3rem;border:2px dashed var(--border-color);border-radius:8px;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--background-secondary)}.image-upload-label:hover{border-color:var(--primary-color);background:#fff}.image-upload-label input{display:none}.upload-icon{font-size:3rem;margin-bottom:1rem;color:var(--text-muted)}.upload-text{color:var(--text-secondary);font-size:1rem;margin-bottom:.5rem}.upload-hint{color:var(--text-muted);font-size:.875rem}.image-preview{margin:1.5rem 0;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md);max-height:500px}.image-preview img{width:100%;height:auto;display:block;object-fit:cover}.submit-form button[type=submit]{width:100%;margin-top:1.5rem;padding:1rem;font-size:1rem}@media(max-width:768px){.submit-container{padding:1rem}.submit-form{padding:1.5rem}}.winners-container{max-width:1200px;width:100%;padding:3rem 2rem}.winners-container h1{color:var(--text-primary);text-align:center;margin-top:2rem;margin-bottom:4rem;font-size:2.5rem;font-weight:700;letter-spacing:-.025em}.winners-info-text{text-align:center;color:var(--text-secondary);margin-bottom:3rem;line-height:1.7;font-size:1rem}.winner-card{background:var(--card-background);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;margin-bottom:2rem;position:relative}.winner-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:1.1rem;box-shadow:var(--shadow);z-index:10}.winner-card h2{text-align:center;padding:1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;margin:0}.winner-photo{width:100%;background:#000;display:flex;justify-content:center;align-items:center;min-height:300px}.winner-photo img{width:100%;height:auto;object-fit:contain;display:block}.winner-details{padding:2rem}.winner-details h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem}.winner-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat{background:var(--background);padding:1rem;border-radius:8px;text-align:center}.stat-label{display:block;color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.stat-value{display:block;color:var(--primary-color);font-size:1.5rem;font-weight:700}.winner-date{color:var(--text-secondary);font-size:.9rem;text-align:center}.results{text-align:center;padding:3rem 2rem;background:var(--card-background);border-radius:12px;box-shadow:var(--shadow)}.results p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.info-text{font-size:.9rem;padding:1rem;background:var(--background);border-radius:8px;margin-top:1rem}.winners-info{background:var(--card-background);padding:2rem;margin-top:2rem;border-radius:12px;box-shadow:var(--shadow)}.winners-info h3{color:var(--primary-color);margin-bottom:1rem}.winners-info ul{list-style:none;padding:0}.winners-info li{padding:.75rem 0 .75rem 1.5rem;position:relative;color:var(--text-secondary);line-height:1.6}.winners-info li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700}@media(max-width:768px){.winners-container{padding:1rem}.winner-details{padding:1.5rem}.winner-badge{font-size:.9rem;padding:.4rem .8rem}.winners-info{padding:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #05A081;--primary-dark: #048770;--secondary-color: #07BFA5;--success-color: #10b981;--error-color: #ef4444;--text-primary: #000000;--text-secondary: #6B7280;--text-muted: #9CA3AF;--background: #F3F4F6;--background-secondary: #E5E7EB;--card-background: #ffffff;--border-color: #E5E7EB;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text-primary);line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}.app-container{flex:1;padding-top:70px;min-height:calc(100vh - 70px);display:flex;justify-content:center;align-items:flex-start}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.2rem;color:var(--text-secondary);text-align:center}.error-message{background:#fee2e2;color:var(--error-color);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--error-color)}.success-message{background:#d1fae5;color:var(--success-color);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--success-color)}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:.875rem 2rem;border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:none;letter-spacing:.025em}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-color);padding:.875rem 2rem;border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover:not(:disabled){border-color:var(--text-primary);background:var(--background-secondary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:4px;font-size:.9375rem;transition:all .2s ease;font-family:inherit;background-color:#fff;color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #05a0811a}.form-group small{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.875rem}@media(max-width:768px){.app-container{padding-top:60px}}
