@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');
.spectrogram{display:block;width:100%;height:180px;margin:18px 0 12px;border:1px solid var(--line);background:#f1f3e9}.xeno-match{margin-top:12px}.xeno-results{margin-top:12px;color:var(--muted);font-size:12px}.xeno-result-list{border-top:1px solid var(--line);padding-top:10px}.xeno-result-list strong{display:block;font:11px 'DM Mono',monospace;text-transform:uppercase;margin-bottom:5px}.xeno-result-list a{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.xeno-result-list small{color:var(--muted);text-align:right}
.map-section{margin:18px 0 56px}.observations-map{height:360px;border:1px solid var(--line);background:#e7ece0}.leaflet-container{font-family:'DM Sans',sans-serif}.leaflet-control-attribution{font-size:10px}
:root{--ink:#17231d;--muted:#758079;--paper:#f4f5ef;--card:#e7ece0;--line:#cdd5c9;--accent:#d0e970;--deep:#203d2c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.shell{max-width:1120px;margin:auto;padding:0 36px}.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;font-size:18px;letter-spacing:-.04em;color:var(--ink);text-decoration:none;display:flex;gap:9px;align-items:center}.brand-mark{font-size:25px;line-height:1;color:var(--deep)}.account{font:12px 'DM Mono',monospace;display:flex;align-items:center;gap:20px}.account a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}.intro{padding:71px 0 52px;max-width:660px}.eyebrow,.section-label{font:11px 'DM Mono',monospace;letter-spacing:.13em;color:#65736a;margin:0 0 20px}.intro h1{font:600 67px/1.01 Fraunces,serif;letter-spacing:-.055em;margin:0}.intro h1 em{color:#718a55;font-style:italic}.lede{font-size:16px;line-height:1.6;color:var(--muted);max-width:430px;margin:25px 0 0}.recorder-card{background:var(--card);border:1px solid #d5ddcf;padding:22px 28px 24px;box-shadow:0 8px 25px #4960440c}.card-head{display:flex;align-items:center;gap:9px;font:11px 'DM Mono',monospace;color:#536259;text-transform:uppercase;letter-spacing:.09em}.live-dot{width:7px;height:7px;background:#94af4e;border-radius:50%;display:inline-block}.card-rule{height:1px;background:#c5d0c1;flex:1;margin:0 7px}.recorder-main{display:flex;align-items:center;gap:25px;padding:33px 0 28px}.record-button{border:0;background:var(--deep);width:86px;height:86px;border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 10px #d7e1ce}.record-button span{width:22px;height:22px;border-radius:50%;background:var(--accent);display:block}.record-button.recording{background:#a54f42}.record-button.recording span{border-radius:4px}.recorder-main h2{font:600 29px Fraunces,serif;margin:0 0 5px;letter-spacing:-.04em}.recorder-main p{margin:0;color:var(--muted);font-size:14px}.meter{height:3px;background:#d2dbce;overflow:hidden}.meter span{display:block;height:100%;width:5%;background:var(--deep);transition:width .2s}.location{border-top:1px solid #cbd5c7;margin-top:23px;padding-top:18px;display:flex;align-items:center;gap:12px}.pin{font-size:25px;color:#677e4c}.location strong{display:block;font-size:13px;font-weight:500}.location small{display:block;color:var(--muted);font:11px 'DM Mono',monospace;margin-top:3px}.text-button{margin-left:auto;background:none;border:0;border-bottom:1px solid var(--ink);font:11px 'DM Mono',monospace;padding:3px 0;cursor:pointer}.details{background:#fff;border:1px solid var(--line);padding:25px 28px;margin-top:18px}.hidden{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font:11px 'DM Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}input,textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:var(--paper);padding:12px;font:14px 'DM Sans',sans-serif;color:var(--ink);resize:vertical}input:focus,textarea:focus{outline:2px solid #b9d164}.action-row{display:flex;justify-content:flex-end;gap:12px;margin-top:21px}.primary,.secondary{border:0;padding:13px 18px;font:12px 'DM Mono',monospace;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:var(--deep);color:#fff}.primary:disabled{opacity:.45;cursor:not-allowed}.primary span{color:var(--accent);margin-left:15px}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.observations{padding:75px 0 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px}.section-heading .eyebrow{margin:0 0 10px}.section-heading h2{font:500 32px Fraunces,serif;margin:0;letter-spacing:-.04em}.count{font:11px 'DM Mono',monospace;color:var(--muted)}.recordings{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:18px}.record,.empty{background:var(--paper);padding:19px}.empty{grid-column:1/-1;color:var(--muted);font-size:14px}.record-top{display:flex;justify-content:space-between;gap:10px}.record h3{font:500 19px Fraunces,serif;margin:0}.record time{font:10px 'DM Mono',monospace;color:var(--muted)}.record-meta{font:11px 'DM Mono',monospace;color:var(--muted);margin:9px 0 15px}.record audio{height:28px;width:100%}footer{border-top:1px solid var(--line);padding:21px 0 35px;display:flex;justify-content:space-between;color:var(--muted);font:10px 'DM Mono',monospace}.footer-mark{color:var(--ink)}.config-error{max-width:450px;margin:15vh auto;padding:40px;text-align:center;background:var(--card)}.config-error h1{font:500 37px Fraunces,serif}.config-error p{color:var(--muted);line-height:1.5;margin-bottom:30px}.config-error code{font-family:'DM Mono',monospace;font-size:11px}@media(max-width:650px){.shell{padding:0 18px}.topbar{height:72px}.account span{display:none}.intro{padding:52px 0 40px}.intro h1{font-size:48px}.recorder-card{padding:18px}.recorder-main{gap:20px;padding:29px 0 25px}.record-button{width:70px;height:70px}.recorder-main h2{font-size:25px}.form-grid{grid-template-columns:1fr}.recordings{grid-template-columns:1fr}.observations{padding-top:55px}}
 .login-page{max-width:1120px;min-height:100vh;margin:auto;padding:0 36px;display:flex;flex-direction:column}.login-top{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.login-note{font:10px 'DM Mono',monospace;letter-spacing:.1em;color:var(--muted)}.login-hero{padding:17vh 0 16vh;max-width:650px}.login-hero h1{font:600 76px/1 Fraunces,serif;letter-spacing:-.06em;margin:0}.login-hero h1 em{font-style:italic;color:#718a55}.login-hero p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.65;max-width:410px;margin:28px 0 31px}.google-button{background:var(--deep);color:white;text-decoration:none;padding:16px 19px;display:flex;align-items:center;gap:13px;width:270px;font:12px 'DM Mono',monospace}.google-button span:last-child{color:var(--accent);margin-left:auto;font-size:17px}.google-g{font:bold 16px Arial;color:var(--accent)}.login-hero small{display:block;margin-top:16px;color:var(--muted);font:10px 'DM Mono',monospace}.login-bottom{border-top:1px solid var(--line);padding:20px 0 30px;display:flex;justify-content:space-between;color:var(--muted);font:10px 'DM Mono',monospace}@media(max-width:650px){.login-page{padding:0 18px}.login-note{display:none}.login-hero{padding:18vh 0 14vh}.login-hero h1{font-size:54px}.login-bottom{gap:12px}.login-bottom span{font-size:9px}}
