@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";.app{width:100%;display:flex;justify-content:center;align-items:center}.container{width:100%;max-width:900px;margin:0 auto;padding:var(--spacing-lg);background:#7a2c2cf2;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.title{text-align:center;font-size:clamp(1.75rem,5vw,2.5rem);color:var(--color-gold);margin-bottom:var(--spacing-xl);letter-spacing:2px;text-shadow:2px 2px 8px rgba(0,0,0,.6);font-weight:700;position:relative;padding-bottom:var(--spacing-md)}.title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);border-radius:2px}.subtitle{color:var(--color-gold);font-size:clamp(1.25rem,4vw,1.6rem);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center;font-weight:600}.form-container{animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-gold-light);font-size:.95rem}.form-input,.form-textarea{width:100%;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);border:2px solid transparent;outline:none;background-color:var(--color-cream-light);color:var(--color-brown-dark);font-size:1rem;font-family:Poppins,sans-serif;transition:all var(--transition-medium)}.form-input:focus,.form-textarea:focus{border-color:var(--color-gold-dark);box-shadow:0 0 0 3px #fc43;transform:translateY(-1px)}.form-input:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed}.form-textarea{resize:vertical;min-height:120px}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:600;font-size:1rem;font-family:Poppins,sans-serif;transition:all var(--transition-medium);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(1px)}.btn-primary{width:100%;background:linear-gradient(135deg,var(--color-gold-dark),var(--color-gold));color:var(--color-maroon-dark);margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.vote-section{animation:fadeIn .5s ease}.candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}@media(max-width:600px){.candidate-grid{grid-template-columns:1fr}}.candidate-card{background-color:#7a2c2c99;border:3px solid transparent;padding:var(--spacing-lg);border-radius:var(--border-radius-md);text-align:center;transition:all var(--transition-medium);cursor:pointer;position:relative;overflow:hidden}.candidate-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,221,102,.05),transparent);opacity:0;transition:opacity var(--transition-medium)}.candidate-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--color-gold)}.candidate-card:hover:before{opacity:1}.candidate-card.selected{border:4px solid var(--color-gold);box-shadow:0 0 30px #ffdd6680;background-color:#8c3535cc;transform:scale(1.02)}.candidate-image-wrapper{width:100%;padding-top:100%;position:relative;overflow:hidden;border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);border:3px solid var(--color-cream-light);box-shadow:var(--shadow-md)}.candidate-image-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-medium)}.candidate-card:hover .candidate-image-wrapper img{transform:scale(1.05)}.candidate-card h3{margin:var(--spacing-md) 0;color:var(--color-gold-light);font-size:1.1rem;font-weight:600;line-height:1.4}.btn-visi{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-gold);border-radius:var(--border-radius-sm);border:none;cursor:pointer;font-weight:600;color:var(--color-maroon-dark);font-size:.9rem;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);z-index:5;position:relative}.btn-visi:hover{background-color:var(--color-gold-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.reason-container{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:#5a1e1e66;border-radius:var(--border-radius-md);border:2px solid var(--color-gold);animation:slideIn .4s ease}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease}.modal-content{background:linear-gradient(135deg,#fff8d6,#fdf1d1);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;color:var(--color-brown-dark);box-shadow:var(--shadow-xl);position:relative;animation:scaleIn .3s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-maroon-dark);border-radius:4px}.close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);font-size:2rem;font-weight:700;color:var(--color-maroon-dark);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast);line-height:1}.close:hover{background-color:var(--color-maroon-dark);color:var(--color-gold);transform:rotate(90deg)}.modal-content h2{color:var(--color-maroon-dark);font-size:1.5rem;margin-bottom:var(--spacing-lg);font-weight:700;padding-right:var(--spacing-xl)}.subtitle-modal{color:var(--color-maroon-dark);font-size:1.2rem;font-weight:700;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-maroon-dark);padding-bottom:var(--spacing-xs)}.modal-content p{white-space:pre-wrap;font-size:.95rem;line-height:1.7;margin-bottom:var(--spacing-md);color:var(--color-brown-dark)}.thank-you-page{animation:fadeIn .6s ease;padding:var(--spacing-lg) 0}.thank-you-content{text-align:center}.thank-you-icon{width:100px;height:100px;margin:0 auto var(--spacing-xl);animation:checkmark .6s ease}@keyframes checkmark{0%{transform:scale(0) rotate(-45deg)}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.thank-you-icon svg{width:100%;height:100%}.thank-you-title{font-size:clamp(2rem,6vw,3rem);color:var(--color-gold);margin-bottom:var(--spacing-lg);font-weight:700;text-shadow:2px 2px 10px rgba(0,0,0,.5)}.thank-you-message{font-size:1.1rem;color:var(--color-cream);margin-bottom:var(--spacing-xl);line-height:1.8;max-width:600px;margin-left:auto;margin-right:auto}.candidate-info{background:#5a1e1e80;padding:var(--spacing-xl);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);border:2px solid var(--color-gold)}.candidate-badge{width:80px;height:80px;margin:0 auto var(--spacing-md);background:linear-gradient(135deg,var(--color-gold-dark),var(--color-gold));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #ffdd66b3}50%{transform:scale(1.05);box-shadow:0 0 20px 10px #fd60}}.badge-number{font-size:2.5rem;font-weight:700;color:var(--color-maroon-dark)}.candidate-name{font-size:1.5rem;color:var(--color-gold-light);font-weight:600;line-height:1.4}.slogan-container{background:linear-gradient(135deg,#ffdd661a,#ffdd660d);padding:var(--spacing-xl);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);position:relative;border:2px solid rgba(255,221,102,.3)}.slogan-icon{font-size:3rem;color:var(--color-gold);opacity:.3;position:absolute;font-family:Georgia,serif}.slogan-icon:first-child{top:10px;left:10px}.slogan-icon-right{bottom:10px;right:10px}.slogan-text{font-size:1.3rem;color:var(--color-gold);font-weight:600;font-style:italic;line-height:1.6;padding:var(--spacing-md) var(--spacing-lg);text-shadow:1px 1px 3px rgba(0,0,0,.3)}.final-message{padding:var(--spacing-lg);background:#5a1e1e4d;border-radius:var(--border-radius-sm);border-left:4px solid var(--color-gold)}.final-message p{font-size:1rem;color:var(--color-cream-light);line-height:1.6;margin:0}@media(max-width:600px){.container{padding:var(--spacing-md)}.modal-content{padding:var(--spacing-lg)}.slogan-text{font-size:1.1rem;padding:var(--spacing-sm) var(--spacing-md)}.thank-you-icon{width:80px;height:80px}}*{box-sizing:border-box;margin:0;padding:0}:root{--color-maroon-dark: #5a1e1e;--color-maroon-medium: #7a2c2c;--color-maroon-light: #8c3535;--color-gold: #ffdd66;--color-gold-light: #ffe48f;--color-gold-dark: #ffcc44;--color-cream: #f7e9b0;--color-cream-light: #fdf1d1;--color-brown-dark: #442010;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 15px;--transition-fast: .2s ease;--transition-medium: .3s ease;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .3);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .4)}html{font-size:16px}body{font-family:Poppins,sans-serif;background:linear-gradient(135deg,#5a1e1e,#7a2c2c);color:var(--color-cream);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md)}@media(min-width:768px){#root{padding:var(--spacing-xl)}}
