@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.volunteer-container{min-height:100vh;background-color:#0f172a;padding:2rem 1rem;font-family:Inter,system-ui,sans-serif;position:relative}.volunteer-container .volunteer-back-home-button{background:transparent;color:#94a3b8;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;font-family:Inter,system-ui,sans-serif;border:1px solid rgba(148,163,184,.3);cursor:pointer;transition:all .2s ease-in-out;position:absolute;top:2rem;left:1rem;z-index:100}.volunteer-container .volunteer-back-home-button:hover{background-color:rgba(148,163,184,.1);color:#cbd5e1;border-color:rgba(148,163,184,.5)}.volunteer-container .volunteer-back-home-button:active{transform:translateY(1px)}.volunteer-container .instructions{max-width:800px;margin:4rem auto 2rem;background-color:rgba(30,41,59,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.15);border-radius:.75rem;padding:2rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.4)}.volunteer-container .instructions h1{font-size:1.75rem;font-weight:700;color:#f8fafc;margin-bottom:1rem;letter-spacing:-.02em}.volunteer-container .instructions ol{margin:0;padding-left:1.5rem;color:#cbd5e1;line-height:1.7}.volunteer-container .instructions ol li{margin-bottom:.5rem}.volunteer-container .login-prompt{max-width:800px;margin:2rem auto;padding:1.5rem;background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(147,51,234,.1));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.2);border-radius:.75rem;text-align:center;box-shadow:0 10px 30px -10px rgba(59,130,246,.2)}.volunteer-container .login-prompt p{color:#e2e8f0;font-size:1rem;margin-bottom:1rem;font-weight:500}.volunteer-container .login-prompt .google-button{margin:0 auto}.volunteer-container .loader-container{max-width:800px;margin:2rem auto;padding:3rem;text-align:center;background-color:rgba(30,41,59,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.15);border-radius:.75rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.4)}.volunteer-container .loader-container .loader{width:50px;height:50px;border:4px solid rgba(148,163,184,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.volunteer-container .loader-container p{margin:0;color:#cbd5e1;font-size:1rem;font-weight:500}.volunteer-container .no-quotes-message{max-width:800px;margin:2rem auto;padding:2rem;text-align:center;background-color:rgba(30,41,59,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.15);border-radius:.75rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.4)}.volunteer-container .no-quotes-message p{margin:0;color:#cbd5e1;font-size:1rem}.volunteer-container .quotes-container{max-width:800px;margin:0 auto 2rem}.volunteer-container .quotes-container .quote-item{margin-bottom:1rem}.volunteer-container .quotes-container .quote-item .blockquote{cursor:pointer;padding:1rem;margin:0;border:1px solid rgba(148,163,184,.15);border-radius:.5rem;background-color:rgba(30,41,59,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#cbd5e1;transition:all .2s ease;position:relative}.volunteer-container .quotes-container .quote-item .blockquote:hover{border-color:rgba(148,163,184,.3);background-color:rgba(30,41,59,.95)}.volunteer-container .quotes-container .quote-item .blockquote.selected{border-color:rgba(59,130,246,.5);background-color:rgba(30,41,59,.95)}.volunteer-container .quotes-container .quote-item .blockquote.recorded{border-color:rgba(16,185,129,.5);background-color:rgba(30,41,59,.95)}.volunteer-container .quotes-container .quote-item .blockquote .checkmark{position:absolute;top:.5rem;right:.5rem;color:#10b981;font-size:1.2rem}.volunteer-container .quotes-container .quote-item .recording-controls{margin-top:.5rem;padding:1rem;border:1px solid rgba(148,163,184,.15);border-radius:.5rem;background-color:rgba(30,41,59,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.volunteer-container .quotes-container .quote-item .recording-controls .not-recording-view p{margin:0 0 .75rem;color:#cbd5e1}.volunteer-container .quotes-container .quote-item .recording-controls .not-recording-view .start-button{padding:.65rem 1.25rem;font-size:1rem;font-weight:600;font-family:Inter,system-ui,sans-serif;background:linear-gradient(90deg,#3b82f6,#2563eb);color:#f8fafc;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px rgba(0,0,0,.25)}.volunteer-container .quotes-container .quote-item .recording-controls .not-recording-view .start-button:hover{background:linear-gradient(90deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.volunteer-container .quotes-container .quote-item .recording-controls .not-recording-view .start-button:active{transform:translateY(1px)}.volunteer-container .quotes-container .quote-item .recording-controls .recording-view .recording-indicator{display:flex;align-items:center;margin-bottom:.75rem;color:#ef4444}.volunteer-container .quotes-container .quote-item .recording-controls .recording-view .recording-indicator .pulse-icon{font-size:1.2rem;margin-right:.5rem;animation:pulse 1.5s infinite}.volunteer-container .quotes-container .quote-item .recording-controls .recording-view .recording-indicator .recording-text{font-size:1rem;font-weight:600}.volunteer-container .quotes-container .quote-item .recording-controls .recording-view .stop-button{padding:.65rem 1.25rem;font-size:1rem;font-weight:600;font-family:Inter,system-ui,sans-serif;background:linear-gradient(90deg,#ef4444,#dc2626);color:#f8fafc;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px rgba(0,0,0,.25)}.volunteer-container .quotes-container .quote-item .recording-controls .recording-view .stop-button:hover{background:linear-gradient(90deg,#dc2626,#b91c1c);transform:translateY(-1px)}.volunteer-container .quotes-container .quote-item .recording-controls .recording-view .stop-button:active{transform:translateY(1px)}.volunteer-container .quotes-container .quote-item .recording-controls .recorded-view .success-message{margin:0 0 .75rem;color:#10b981;font-weight:600}.volunteer-container .quotes-container .quote-item .recording-controls .recorded-view .audio-container{margin-bottom:.75rem}.volunteer-container .quotes-container .quote-item .recording-controls .recorded-view .audio-container audio{width:100%;border-radius:.5rem}.volunteer-container .quotes-container .quote-item .recording-controls .recorded-view .rerecord-button{padding:.65rem 1.25rem;font-size:1rem;font-weight:600;font-family:Inter,system-ui,sans-serif;background:linear-gradient(90deg,#f59e0b,#d97706);color:#0f172a;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px rgba(0,0,0,.25)}.volunteer-container .quotes-container .quote-item .recording-controls .recorded-view .rerecord-button:hover{background:linear-gradient(90deg,#d97706,#b45309);transform:translateY(-1px)}.volunteer-container .quotes-container .quote-item .recording-controls .recorded-view .rerecord-button:active{transform:translateY(1px)}.volunteer-container .submission-form-container{max-width:800px;margin:0 auto;padding:2rem;background-color:rgba(30,41,59,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.15);border-radius:.75rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.4)}.volunteer-container .submission-form-container h2{margin:0 0 1.5rem;font-size:1.75rem;font-weight:700;color:#f8fafc;text-align:center;letter-spacing:-.02em}.volunteer-container .submission-form-container .recording-counter{margin-bottom:1.5rem;padding:1rem;background-color:rgba(15,23,42,.5);border-radius:.5rem;border:1px solid rgba(148,163,184,.15);text-align:center}.volunteer-container .submission-form-container .recording-counter p{margin:0;font-size:1rem;color:#cbd5e1}.volunteer-container .submission-form-container .recording-counter p strong{color:#3b82f6;font-size:1.2rem}.volunteer-container .submission-form-container .recording-counter p .warning{color:#ef4444;display:block;margin-top:.5rem;font-weight:600}.volunteer-container .submission-form-container .submission-form .form-group{margin-bottom:1rem}.volunteer-container .submission-form-container .submission-form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#f8fafc}.volunteer-container .submission-form-container .submission-form .form-group label .required{color:#ef4444}.volunteer-container .submission-form-container .submission-form .form-group label .optional{color:#94a3b8;font-weight:400;font-size:.9rem}.volunteer-container .submission-form-container .submission-form .form-group input{width:100%;padding:.65rem;font-size:1rem;border:1px solid rgba(148,163,184,.15);border-radius:.5rem;box-sizing:border-box;background-color:rgba(15,23,42,.5);color:#f8fafc;transition:all .2s ease}.volunteer-container .submission-form-container .submission-form .form-group input:focus{outline:none;border-color:rgba(59,130,246,.5);background-color:rgba(15,23,42,.7)}.volunteer-container .submission-form-container .submission-form .form-group input::placeholder{color:#64748b}.volunteer-container .submission-form-container .submission-form .submit-button{width:100%;padding:.85rem;font-size:1rem;font-weight:600;font-family:Inter,system-ui,sans-serif;background:linear-gradient(90deg,#10b981,#059669);color:#f8fafc;border:none;border-radius:.5rem;cursor:pointer;margin-top:.5rem;transition:all .2s ease;box-shadow:0 6px 12px rgba(0,0,0,.25)}.volunteer-container .submission-form-container .submission-form .submit-button:hover:not(.disabled){background:linear-gradient(90deg,#059669,#047857);transform:translateY(-1px)}.volunteer-container .submission-form-container .submission-form .submit-button:active:not(.disabled){transform:translateY(1px)}.volunteer-container .submission-form-container .submission-form .submit-button.disabled{background:linear-gradient(90deg,#475569,#334155);cursor:not-allowed;opacity:.6;transform:none}.volunteer-container .submission-form-container .submission-form .validation-message{margin-top:1rem;padding:1rem;background-color:rgba(15,23,42,.5);border:1px solid rgba(251,191,36,.3);border-radius:.5rem}.volunteer-container .submission-form-container .submission-form .validation-message p{margin:0 0 .5rem;font-weight:600;color:#fbbf24}.volunteer-container .submission-form-container .submission-form .validation-message ul{margin:0;padding-left:1.5rem;list-style:none}.volunteer-container .submission-form-container .submission-form .validation-message ul li{margin-bottom:.25rem;color:#cbd5e1}.volunteer-container .submission-form-container .submission-form .validation-message ul li.completed{color:#10b981;font-weight:600}@media(max-width:768px){.volunteer-container{padding:1.5rem 1rem}.volunteer-container .instructions,.volunteer-container .submission-form-container{padding:1.5rem;border-radius:.6rem}.volunteer-container .instructions h1,.volunteer-container .submission-form-container h2{font-size:1.5rem}}@media(max-width:480px){.volunteer-container .instructions,.volunteer-container .submission-form-container{padding:1.25rem}.volunteer-container .instructions h1,.volunteer-container .submission-form-container h2{font-size:1.25rem}}.logged-in-message{margin:1rem 0;padding:1rem;background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border:1px solid rgba(34,197,94,.3);border-radius:.5rem;text-align:center}.logged-in-message p{margin:0;color:#a7f3d0;font-size:.95rem;font-weight:500}.consent{display:block;margin-top:1rem;font-size:.9rem;color:#cbd5e1;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.consent .checkbox-container{display:flex;align-items:flex-start;gap:.75rem}.consent input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.consent .custom-checkbox{position:relative;width:18px;height:18px;min-width:18px;border:2px solid rgba(148,163,184,.3);border-radius:.25rem;background-color:rgba(15,23,42,.5);transition:all .2s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:.1rem}.consent .custom-checkbox:after{content:"";width:10px;height:6px;border:2px solid #f8fafc;border-top:none;border-right:none;transform:rotate(-45deg) scale(0);transition:transform .15s ease}.consent .custom-checkbox:hover{border-color:rgba(59,130,246,.5);background-color:rgba(15,23,42,.7)}.consent input[type=checkbox]:checked+.custom-checkbox{background:linear-gradient(90deg,#3b82f6,#2563eb);border-color:#3b82f6}.consent input[type=checkbox]:checked+.custom-checkbox:after{transform:rotate(-45deg) scale(1)}.consent input[type=checkbox]:focus+.custom-checkbox{outline:2px solid rgba(59,130,246,.3);outline-offset:2px}.consent .checkbox-text{line-height:1.5}.volunteer-heatmap-section{padding:2rem 0;background:linear-gradient(180deg,#0f172a,#1e293b);border-radius:1rem;overflow:hidden}.volunteer-heatmap-section h2{text-align:center;color:#f1f5f9;font-size:2rem;font-weight:700;margin:0 0 2rem;padding:0 1rem}@media(max-width:768px){.volunteer-heatmap-section h2{font-size:1.5rem}}.volunteer-heatmap-section .heatmap-container{height:600px;background-color:transparent}@media(max-width:768px){.volunteer-heatmap-section .heatmap-container{height:500px}}