@import url(https://fonts.cdnfonts.com/css/avenir);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:3px solid #6fa0a2;outline-offset:2px}input[type=radio]:focus-visible{outline:3px solid #6fa0a2;outline-offset:3px}button:focus-visible{outline:3px solid #6fa0a2;outline-offset:2px}.skip-to-content{background:#043d5d;background:var(--brand-dark);border-radius:0 0 8px 0;border-radius:0 0 var(--radius) 0;color:#fff;color:var(--text-on-dark);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:1rem;font-weight:600;left:-9999px;padding:12px 24px;position:absolute;text-decoration:none;top:0;z-index:9999}.skip-to-content:focus{left:0}:root{--brand-dark:#043d5d;--brand-medium:#4d6d7e;--brand-light:#6fa0a2;--brand-sec-dark:#4d545b;--brand-sec-light:#6d98c1;--brand-dark-90:#043d5de6;--brand-dark-10:#043d5d1a;--brand-dark-05:#043d5d0d;--brand-light-20:#6fa0a233;--surface:#fff;--surface-raised:#fafbfc;--surface-muted:#f3f6f8;--surface-dark:#043d5d;--text-primary:#1a2a36;--text-secondary:#4d6d7e;--text-muted:#5c6f7e;--text-on-dark:#fff;--text-on-dark-muted:#ffffffbf;--success:#2e7d52;--success-bg:#2e7d5214;--error:#c0392b;--error-bg:#c0392b14;--font-heading:"Avenir","Avenir Next","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;--font-body:"Helvetica Neue",Helvetica,"Segoe UI",Arial,sans-serif;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #043d5d14;--shadow:0 2px 8px #043d5d1a;--shadow-lg:0 8px 24px #043d5d1f;--shadow-xl:0 16px 48px #043d5d29}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f6f8;background:var(--surface-muted);color:#1a2a36;color:var(--text-primary);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:15px;line-height:1.55}h1{color:#fff;color:var(--text-on-dark);font-family:Avenir,Avenir Next,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-heading);font-weight:900;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}h2{font-weight:900;letter-spacing:.03em;line-height:1.2}h2,h3,h4,h5,h6{color:#043d5d;color:var(--brand-dark);font-family:Avenir,Avenir Next,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-heading);text-transform:uppercase}h3,h4,h5,h6{font-weight:700;letter-spacing:.02em}.App{min-height:100vh;padding-bottom:56px;text-align:center}.home-view,.reporter-view{margin:0 auto;max-width:1200px;padding:20px}.image-container{border-radius:12px;border-radius:var(--radius-lg);display:inline-block;max-width:100%;overflow:hidden}.fish-image,.image-container{margin:0 auto;position:relative}.fish-image{border:0;cursor:crosshair;display:block;height:auto;max-height:calc(100vh - 160px);max-width:1000px;padding:0;vertical-align:top;width:auto;z-index:1}.fish-image,.heatmap-overlay{border-radius:12px;border-radius:var(--radius-lg)}.heatmap-overlay{height:100%;left:0;opacity:.8;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}@media (max-width:1200px){.fish-image{max-width:800px!important}}@media (max-width:900px){.fish-image{max-width:600px!important}}@media (max-width:680px){.fish-image{max-width:100%!important}}.instructions{color:#4d6d7e;color:var(--text-secondary);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:1rem;line-height:1.5;margin:0 auto 24px;max-width:600px;padding:16px 20px}.instructions strong{color:#043d5d;color:var(--brand-dark);font-weight:700;letter-spacing:.02em;text-transform:uppercase}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#043d5da6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s cubic-bezier(.22,1,.36,1);background:#fff;background:var(--surface);border-radius:16px;border-radius:var(--radius-xl);border-top:4px solid #043d5d;border-top:4px solid var(--brand-dark);box-shadow:0 16px 48px #043d5d29;box-shadow:var(--shadow-xl);max-width:520px;padding:40px 36px;position:relative;width:92%}.modal-content.modal-large{max-height:90vh;max-width:720px;overflow-y:auto;padding:36px 32px}.modal-content:before{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{color:#043d5d;color:var(--brand-dark);font-family:Avenir,Avenir Next,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-heading);font-size:1.35rem;font-weight:900;letter-spacing:.04em;margin-bottom:28px;text-align:center;text-transform:uppercase}.form-group{margin-bottom:24px;text-align:left}.form-group label{color:#043d5d;color:var(--brand-dark);display:block;font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.radio-group{display:flex;flex-wrap:wrap;gap:10px}.radio-option{align-items:center;background:#f3f6f8;background:var(--surface-muted);border:2px solid #0000;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:all .2s ease}.radio-option label{display:inline;margin-bottom:0}.radio-option:before{display:none}.radio-option:hover{background:#fff;background:var(--surface);border-color:#6fa0a2;border-color:var(--brand-light);box-shadow:0 1px 3px #043d5d14;box-shadow:var(--shadow-sm)}.radio-option:has(input[type=radio]:checked){background:#043d5d;background:var(--brand-dark);border-color:#043d5d;border-color:var(--brand-dark);box-shadow:0 2px 8px #043d5d1a;box-shadow:var(--shadow);color:#fff}.radio-option:has(input[type=radio]:checked) label{color:#fff}.confidence-group{align-items:center;background:#f3f6f8;background:var(--surface-muted);border:1px solid #6fa0a233;border:1px solid var(--brand-light-20);border-radius:12px;border-radius:var(--radius-lg);display:inline-flex;gap:6px;padding:6px}.confidence-group input[type=radio]{height:0;opacity:0;position:absolute;width:0}.confidence-group label{background:#0000;border:none;border-radius:8px;border-radius:var(--radius);color:#4d6d7e;color:var(--text-secondary);cursor:pointer;font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif!important;font-family:var(--font-body)!important;font-size:.9rem!important;font-weight:600!important;letter-spacing:0;margin:0!important;min-width:44px;padding:10px 0;text-align:center;text-transform:none;transition:all .2s ease;width:44px}.confidence-group label:hover{background:#fff;background:var(--surface);box-shadow:none;color:#043d5d;color:var(--brand-dark);transform:none}.confidence-group input[type=radio]:checked+label{background:#043d5d;background:var(--brand-dark);box-shadow:0 1px 3px #043d5d14;box-shadow:var(--shadow-sm);color:#fff;transform:none}input[type=number]{background:#fff;background:var(--surface);border:1.5px solid #6fa0a233;border:1.5px solid var(--brand-light-20);border-radius:8px;border-radius:var(--radius);color:#1a2a36;color:var(--text-primary);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.95rem;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}input[type=number]:focus{box-shadow:0 0 0 3px #6fa0a226;outline:none}input[type=number]:focus,input[type=number]:hover{border-color:#6fa0a2;border-color:var(--brand-light)}input[type=radio]{accent-color:#6fa0a2;accent-color:var(--brand-light)}select{background:#fff;background:var(--surface);border:1.5px solid #6fa0a233;border:1.5px solid var(--brand-light-20);border-radius:8px;border-radius:var(--radius);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.95rem;padding:12px 16px;transition:border-color .2s ease;width:100%}select:focus{border-color:#6fa0a2;border-color:var(--brand-light);box-shadow:0 0 0 3px #6fa0a226;outline:none}.button-group{border-top:1px solid #043d5d0d;border-top:1px solid var(--brand-dark-05);display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px}button{border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.85rem;font-weight:700;letter-spacing:.04em;line-height:1.3;padding:12px 28px;text-transform:uppercase;transition:all .2s ease}button:before{display:none}.btn-primary{background:#043d5d;background:var(--brand-dark);box-shadow:0 2px 8px #043d5d1a;box-shadow:var(--shadow);color:#fff}.btn-primary:hover{background:#032f47;box-shadow:0 8px 24px #043d5d1f;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-secondary{background:#fff;background:var(--surface);border:1.5px solid #6fa0a233;border:1.5px solid var(--brand-light-20);color:#4d6d7e;color:var(--text-secondary)}.btn-secondary:hover{background:#f3f6f8;background:var(--surface-muted);border-color:#6fa0a2;border-color:var(--brand-light);color:#043d5d;color:var(--brand-dark)}.image-container button{background:#c0392b;background:var(--error);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #043d5d14;box-shadow:var(--shadow-sm);color:#fff;font-size:.8rem;padding:8px 16px}.image-container button:hover{box-shadow:0 2px 8px #043d5d1a;box-shadow:var(--shadow);transform:translateY(-1px)}.status-message{border-radius:8px;border-radius:var(--radius);font-size:.9rem;font-weight:500;margin:24px auto 0;max-width:500px;padding:14px 24px}.status-success{background:#2e7d5214;background:var(--success-bg);border:1px solid #2e7d5226;color:#2e7d52;color:var(--success)}.status-error{background:#c0392b14;background:var(--error-bg);border:1px solid #c0392b26;color:#c0392b;color:var(--error)}.status-hidden{display:none}.reporter-view.mobile-optimized{background:#f3f6f8;background:var(--surface-muted);max-width:none;min-height:100vh;padding:0}.mobile-header{background:#043d5d;background:var(--brand-dark);color:#fff;color:var(--text-on-dark);padding:24px 20px 28px;text-align:center}.mobile-header h1{font-family:Avenir,Avenir Next,Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-heading);font-size:1.4rem;font-weight:900;letter-spacing:.05em;margin:0 0 6px;text-transform:uppercase}.mobile-subtitle{color:#ffffffbf;color:var(--text-on-dark-muted);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.9rem;margin:0}.mobile-container{margin:0 auto;max-width:1000px;padding:20px 16px 80px;text-align:center}.mobile-instructions{display:flex;gap:10px;margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:540px}.instruction-card{background:#fff;background:var(--surface);border:1px solid #043d5d0d;border:1px solid var(--brand-dark-05);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #043d5d14;box-shadow:var(--shadow-sm);flex:1 1;padding:14px 16px}.instruction-card,.step-number{align-items:center;display:flex}.step-number{background:#043d5d;background:var(--brand-dark);border-radius:50%;color:#fff;font-size:.8rem;font-weight:700;height:28px;justify-content:center;margin-right:12px;min-width:28px;width:28px}.step-text{color:#1a2a36;color:var(--text-primary);font-size:.85rem;line-height:1.4}.mobile-image-section{align-items:center;display:flex;flex-direction:column;margin-bottom:20px}.tap-indicator{background:#2e7d5214;background:var(--success-bg);border:1px solid #2e7d5226;border-radius:8px;border-radius:var(--radius);color:#2e7d52;color:var(--success);font-size:.9rem;font-weight:600;margin-top:12px;padding:12px 20px}@media (max-width:768px){.mobile-instructions{flex-direction:column}.modal-content{margin:16px;max-height:90vh;overflow-y:auto;padding:28px 24px}.button-group,.radio-group{flex-direction:column}.button-group button{font-size:.95rem;min-height:48px}.mobile-optimized .fish-image{width:100%!important}.mobile-optimized .image-container{margin:0 0 16px;max-width:100%;overflow:hidden}}@media (max-width:480px){.mobile-header{padding:18px 14px 22px}.mobile-header h1{font-size:1.2rem}.mobile-container{padding:16px 12px 80px}.step-text{font-size:.8rem}}.radio-group-vertical{flex-direction:column}.illustration-task{border-top:1px solid #043d5d0d;border-top:1px solid var(--brand-dark-05);margin-top:8px;padding-top:24px}.illustration-instructions{color:#4d6d7e;color:var(--text-secondary);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.95rem;font-weight:400;letter-spacing:0;line-height:1.55;margin-bottom:16px;text-transform:none}.illustration-image-wrapper{margin-bottom:12px;text-align:center}.illustration-fish-image{border-radius:12px;border-radius:var(--radius-lg);cursor:crosshair;display:block;height:auto;margin:0 auto;max-width:100%;transition:border-color .2s ease;user-select:none;-webkit-user-select:none;width:600px}.illustration-fish-image:hover{opacity:.95}.click-marker{background:#043d5d;background:var(--brand-dark);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 6px #00000059;height:12px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:12px;z-index:10}.click-marker:after{border:1.5px solid #043d5d;border:1.5px solid var(--brand-dark);border-radius:50%;content:"";inset:-4px;opacity:.4;position:absolute}.illustration-note{color:#5c6f7e;color:var(--text-muted);font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,sans-serif;font-family:var(--font-body);font-size:.85rem;font-style:italic;font-weight:400;letter-spacing:0;margin:0;text-align:center;text-transform:none}.survey-validation-error{background:#c0392b14;background:var(--error-bg);border:1px solid #c0392b26;border-radius:8px;border-radius:var(--radius);color:#c0392b;color:var(--error);font-size:.9rem;font-weight:600;margin-top:16px;padding:12px 16px;text-align:center}.next-step-notice{align-items:flex-start;background:#e8f4fd;border:1px solid #b3d9f2;border-radius:8px;border-radius:var(--radius);display:flex;gap:12px;margin-top:20px;padding:14px 16px}.next-step-notice .next-step-icon{flex-shrink:0;font-size:1.5rem;line-height:1;margin-top:2px}.next-step-notice strong{color:#043d5d;color:var(--brand-dark);display:block;font-size:.95rem;margin-bottom:4px}.next-step-notice p{color:#2c5f7c;font-size:.85rem;line-height:1.5;margin:0}.illustration-phase-container{margin:0 auto;max-width:800px;padding:20px 16px 40px;text-align:center}.illustration-phase-instructions{color:#043d5d;color:var(--brand-dark);font-size:1.1rem;font-weight:600;line-height:1.5;margin-bottom:4px}.illustration-phase-hint{color:#5c6f7e;color:var(--text-muted);font-size:.9rem;font-style:italic;margin-bottom:20px}.illustration-phase-image-wrapper{margin:0 auto 16px;position:relative}.illustration-phase-fish{border-radius:12px;border-radius:var(--radius-lg);cursor:crosshair;display:block;height:auto;max-width:100%;user-select:none;-webkit-user-select:none;width:100%}.illustration-phase-fish:hover{opacity:.95}.illustration-phase-note{color:#5c6f7e;color:var(--text-muted);font-size:.85rem;font-style:italic;margin:0 0 8px}.illustration-phase-tap-status{color:#043d5d;color:var(--brand-dark);font-size:.9rem;font-weight:600;margin:0 0 16px}.illustration-phase-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.illustration-phase-actions .btn-primary,.illustration-phase-actions .btn-secondary{border-radius:10px;font-size:1rem;padding:14px 36px}@media (max-width:768px){.modal-content.modal-large{margin:8px;max-height:95vh;padding:24px 18px;width:96%}.illustration-fish-image{width:100%}.illustration-phase-container{padding:12px 8px 32px}.illustration-phase-actions{flex-direction:column;gap:10px}.illustration-phase-actions .btn-primary,.illustration-phase-actions .btn-secondary{width:100%}}
/*# sourceMappingURL=main.d7b2d15a.css.map*/