@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_bb2f6a0e-module___LHQJa__className{font-family:Fraunces,Fraunces Fallback}.fraunces_bb2f6a0e-module___LHQJa__variable{--font-display:"Fraunces", "Fraunces Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f6f1;--surface:#fff;--surface-sunken:#f2efe6;--border:#e5e0d3;--border-strong:#d4cdb9;--text:#1f2a24;--text-muted:#5b6b60;--text-faint:#8b9a8f;--brand:#2f6f4f;--brand-dark:#23543c;--brand-tint:#e7f0ea;--accent:#c1662f;--accent-dark:#9c4f22;--accent-tint:#f6e9de;--error:#8a1f11;--error-bg:#fdecea;--error-border:#f5c2c0;--radius-sm:6px;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #1f2a240f;--shadow:0 4px 16px #1f2a2414;--shadow-lg:0 12px 32px #1f2a241f;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--brand)}a:hover{color:var(--brand-dark)}h1,h2,h3{font-family:var(--font-display), Georgia, serif;color:var(--text);letter-spacing:-.01em}button{font-family:inherit}.page{max-width:1000px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.masthead{align-items:flex-start;gap:.9rem;margin-bottom:.4rem;display:flex}.masthead-mark{filter:saturate(1.1);font-size:1.9rem;line-height:1}h1.title{margin:0;font-size:2.1rem;font-weight:600}.subtitle{color:var(--text-muted);margin:.5rem 0 2.25rem;line-height:1.55}.subtitle a{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.75rem;padding:1.5rem}.card h2{margin:0 0 .3rem;font-size:1.25rem;font-weight:600}.card-note{color:var(--text-muted);margin:0 0 1.1rem;font-size:.9rem;line-height:1.5}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.35em;padding:.15em .6em;font-size:.78rem;font-weight:600;line-height:1.7;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:999px;width:.5em;height:.5em;display:inline-block}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.4em;padding:.45em .9em;font-size:.88rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-faint)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark)}.btn-icon{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.2em .4em;font-size:1rem}.btn-icon:hover{background:var(--surface-sunken);color:var(--text)}.error-banner{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);border-radius:var(--radius);margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}footer.page-footer{color:var(--text-faint);margin-top:3rem;font-size:.8rem;line-height:1.6}footer.page-footer a{color:var(--text-faint);text-decoration:underline}.sonogram{background:var(--surface-sunken);margin-top:1.25rem;margin-bottom:0}.sonogram-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sonogram-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0;display:flex}.sonogram-hint{color:var(--text-faint);font-size:.82rem}.sonogram-frame{border-radius:var(--radius-sm);border:1px solid var(--border);position:relative;overflow:hidden}.sonogram-row-label{pointer-events:none;white-space:nowrap;border-radius:3px;align-items:center;gap:.3em;padding:0 .4em;font-size:.68rem;font-weight:600;display:inline-flex;position:absolute;left:4px}.sonogram-row-label b{text-transform:uppercase;letter-spacing:.02em;font-weight:700}.detail-table-wrap{margin-top:1rem}.detail-table-title{color:var(--text-muted);margin-bottom:.4rem;font-size:.85rem;font-weight:600}.detail-table-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:240px;overflow-y:auto}.detail-table{border-collapse:collapse;width:100%;font-size:.85rem}.detail-table th{background:var(--surface);text-align:left;color:var(--text-muted);padding:.4rem .6rem;font-weight:600;position:sticky;top:0}.detail-table td{padding:.4rem .6rem}.detail-table tbody tr{border-top:1px solid var(--border);cursor:pointer}.detail-table tbody tr.is-disabled{cursor:default}.detection-map{border-radius:var(--radius);width:100%;height:420px;overflow:hidden}@media (max-width:640px){.detection-map{height:260px}}.species-chart-scroll{overflow-x:auto}.upload-enhance-toggle{align-items:center;gap:.5rem;margin:.75rem 0 .25rem;font-size:.9rem;display:flex}.upload-dropzone{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-sunken);flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem;display:flex}.upload-hint{color:var(--text-faint);font-size:.82rem}.upload-status{border-radius:var(--radius);background:var(--surface-sunken);color:var(--text-muted);flex-direction:column;gap:.6rem;padding:1rem;font-size:.9rem;display:flex}.upload-progress-track{background:var(--border);border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.upload-progress-bar{background:var(--brand);border-radius:999px;width:40%;height:100%;animation:1.4s ease-in-out infinite upload-progress-slide;position:absolute;top:0;left:-40%}@keyframes upload-progress-slide{0%{left:-40%}to{left:100%}}.location-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);margin-bottom:.75rem;padding:1rem}.location-picker-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.location-picker-label{font-size:.92rem;font-weight:600}.optional-tag{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:400}.location-picker-note{color:var(--text-muted);margin:.3rem 0 .75rem;font-size:.82rem;line-height:1.5}.location-search-wrap{position:relative}.location-search-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:.5rem .7rem;font-size:.88rem}.location-results{z-index:10;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);max-height:220px;margin:.25rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.location-results li button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.45rem .6rem;font-size:.85rem;display:block}.location-results li button:hover{background:var(--surface-sunken)}.location-selected{color:var(--brand-dark);margin-top:.5rem;font-size:.85rem}.location-manual-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.location-or{color:var(--text-faint);white-space:nowrap;font-size:.78rem}.location-manual-row input[type=number]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:9rem;color:var(--text);padding:.4rem .6rem;font-size:.85rem}.location-month-row{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:.65rem;font-size:.85rem;display:flex}.location-month-row select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:.35rem .5rem;font-size:.85rem}.upload-or-divider{text-align:center;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin:.6rem 0;font-size:.78rem}.recorder{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-sunken);padding:1rem 1.25rem}.recorder-active{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.recorder-dot{background:var(--error);border-radius:999px;flex-shrink:0;width:10px;height:10px;animation:1.2s ease-in-out infinite recorder-pulse}@keyframes recorder-pulse{0%,to{opacity:1}50%{opacity:.35}}.recorder-preview{flex-direction:column;gap:.65rem;display:flex}.recorder-preview audio{width:100%}.recorder-preview-actions{flex-wrap:wrap;gap:.5rem;display:flex}[hidden]{display:none!important}::selection{background:var(--brand-tint)}
