.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:fadeInOverlay .3s ease;transition:background-color .3s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.feedback-modal{background:var(--container-background);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:fadeIn .3s ease-in-out;transition:background-color .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.feedback-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);transition:border-color .3s ease}.feedback-header h2{margin:0;font-size:24px;color:var(--text-primary);transition:color .3s ease}.close-button{background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-button:hover{color:var(--text-primary)}.feedback-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px;transition:color .3s ease}.required{color:#ef4444}.optional{color:#6b7280;font-weight:400}.form-group textarea,.form-group input[type=email]{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box;background-color:var(--output-background);color:var(--text-primary)}.form-group textarea:focus,.form-group input[type=email]:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-group textarea:disabled,.form-group input[type=email]:disabled{background-color:var(--stats-background);cursor:not-allowed;opacity:.6}.char-count{text-align:right;font-size:12px;color:var(--text-secondary);margin-top:4px;transition:color .3s ease}.submit-status{padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submit-status.success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.submit-status.error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.form-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel,.btn-submit{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background-color:var(--stats-background);color:var(--text-primary);transition:all .3s ease}.btn-cancel:hover:not(:disabled){background-color:var(--legend-background)}.btn-submit{background-color:var(--loading-color);color:#fff;transition:all .3s ease}.btn-submit:hover:not(:disabled){background-color:var(--stat-count-color);filter:brightness(.9)}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.feedback-modal{margin:20px;max-height:calc(100vh - 40px)}.feedback-header{padding:16px 20px}.feedback-header h2{font-size:20px}.feedback-form{padding:20px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.page-footer,.footer-nav{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color);display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.footer-nav+.page-footer{margin-top:4px;padding-top:0;border-top:none}.footer-nav-link{color:var(--text-secondary);font-size:.85rem;padding:6px 0;text-decoration:underline;text-underline-offset:3px;transition:all .2s ease}.footer-nav-link:hover{color:var(--text-primary);transform:translateY(-1px)}.footer-separator{color:var(--text-secondary);font-size:.85rem;user-select:none}.footer-privacy-link{color:var(--text-secondary);font-size:.85rem;padding:6px 12px;text-decoration:underline;text-underline-offset:3px;transition:all .2s ease}.footer-privacy-link:hover{color:var(--text-primary);transform:translateY(-1px)}.footer-feedback-button{background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:6px 12px;transition:all .2s ease;text-decoration:underline;text-underline-offset:3px}.footer-feedback-button:hover{color:var(--text-primary);transform:translateY(-1px)}
