:root{font-family:'DM Sans',system-ui,sans-serif;color:#203c3b;background:#f6f8f7;font-size:14px;--ink:#203c3b;--muted:#70807e;--line:#e4eae7;--green:#286c5e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;background:#fff;color:var(--ink);border:1px solid #d8e1db;border-radius:7px;padding:9px 13px;font-weight:550}button:hover{background:#edf4ef;border-color:#a6c3b3}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dbac64;outline-offset:3px}a{color:#2e7768;text-underline-offset:3px}input,select{color:var(--ink)}[hidden]{display:none!important}.masthead{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:#fff;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{font:45px/37px Georgia,serif;color:white;background:#286c5e;border-radius:13px;width:43px;height:43px;text-align:center}.brand strong{font:750 19px 'Manrope',system-ui;letter-spacing:-.6px;display:block}.brand small{font-size:9px;letter-spacing:2px;display:block;margin-top:5px;color:var(--muted)}.header-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;border-radius:50%;background:#6b9d72}.divider{color:#c6d0c9;margin:0 5px}.header-actions{display:flex;gap:8px}.quiet{background:transparent;border-color:transparent;font-size:12px}.workspace{display:grid;grid-template-columns:352px minmax(0,1fr);height:calc(100dvh - 82px);min-height:510px}.explorer{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;z-index:700}.explorer-head{padding:26px 24px 0}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#7b8f87}h1{font:750 22px/1.35 'Manrope',system-ui;letter-spacing:-.7px;margin:9px 0}h2{font:700 19px/1.3 'Manrope',system-ui;letter-spacing:-.4px;margin:4px 0}.explorer-head>p{color:var(--muted);font-size:12px;margin:0 0 20px}.search-box{display:flex;align-items:center;background:#f5f7f5;border:1px solid #e2e8e2;border-radius:8px;padding:10px 12px;gap:9px}.search-box svg{width:16px;height:16px;fill:none;stroke:#82968c;stroke-width:1.8;flex-shrink:0}.search-box input{border:0;background:transparent;min-width:0;width:100%;font-size:12px;outline:none}.tabs{display:flex;margin-top:20px;border-bottom:1px solid var(--line);gap:18px}.tabs button{border:none;border-radius:0;background:none;padding:12px 0;color:#80918a;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:#286c5e;border-bottom-color:#286c5e}.tabs span{font-size:10px;background:#eef3ee;border-radius:4px;padding:2px 4px;margin-left:3px}.explorer-body{padding:0 19px 24px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#d4ded7 transparent}.section-tools{display:flex;align-items:center;font-size:10px;color:#809087;padding:13px 5px 9px;gap:8px}.section-tools>span{flex:1}.text-button{border:0;background:none;font-size:11px;color:#397a69;padding:4px 2px}.subject-group{border-bottom:1px solid var(--line);padding:8px 0}.subject-group summary{cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 5px;list-style:none;font-size:12px;font-weight:650}.subject-group summary::-webkit-details-marker{display:none}.subject-group summary::after{content:'+';margin-left:auto;color:#94a197;font-size:17px;font-weight:400}.subject-group[open] summary::after{content:'−'}.group-dot{height:7px;width:7px;border-radius:2px}.group-count{font-size:10px;font-weight:400;color:#85988a;margin-left:3px}.subject-row{display:flex;align-items:center;border-radius:7px;padding:8px 7px;gap:9px;margin:2px 0}.subject-row.selected{background:#eff5ef}.subject-row label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;min-width:0}.subject-row input{accent-color:#327864;width:14px;height:14px;margin:0;flex-shrink:0}.subject-name{display:block;font-size:12px;line-height:1.35}.subject-meta{display:block;font-size:9px;color:#7e8e82;margin-top:4px;line-height:1.45}.pending{color:#a58453}.only-button{font-size:10px;padding:4px 6px;border:1px solid transparent;background:transparent;color:#567b68}.subject-row:hover .only-button,.only-button:focus-visible{background:white;border-color:#d9e4d9}.explorer-tip{padding:17px 9px;color:#819186;font-size:10px;line-height:1.7}.explorer-tip strong{font-weight:550;color:#657b6d}.explorer-tip p{margin:5px 0}.explorer-footer{font-size:9px;color:#829086;display:flex;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding:13px 22px;background:#fff}.explorer-footer a{white-space:nowrap}.map-stage{display:flex;flex-direction:column;min-width:0;min-height:0}.map-topbar{display:flex;align-items:center;justify-content:space-between;padding:19px 26px 15px;gap:14px;background:#fbfcfa}.map-topbar h2{margin-top:5px}.map-topbar .eyebrow{font-size:8px}.map-actions{display:flex;gap:8px}.map-actions button{font-size:11px;padding:9px 13px}.primary{background:#296c5d;border-color:#296c5d;color:#fff}.primary:hover{background:#225c4f;color:white;border-color:#225c4f}.selection-bar{min-height:48px;background:#fbfcfa;display:flex;align-items:center;justify-content:space-between;padding:0 26px 12px;gap:10px;border-bottom:1px solid #dce5df}.selection-bar>.text-button{white-space:nowrap}#selectedChips{display:flex;flex-wrap:wrap;gap:6px;max-height:85px;overflow:auto}.chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:5px 8px;border:1px solid #dde6dc;border-radius:5px;background:white}.chip i{height:6px;width:6px;border-radius:50%}.chip button{padding:0 0 0 5px;border:0;background:transparent;color:#7d9484;font-size:14px;line-height:1}.empty-selection{font-size:11px;color:#7a8c80}.map-canvas{position:relative;flex:1;min-height:300px;overflow:hidden}#map{width:100%;height:100%;background:#e8eeed}.leaflet-container{font-family:inherit}.map-summary{position:absolute;top:18px;left:20px;z-index:500;background:#fffffff5;border:1px solid #dce5df;border-radius:7px;box-shadow:0 3px 12px #233e3810;display:flex;align-items:center;gap:7px;padding:10px 13px;font-size:10px;pointer-events:none;max-width:calc(100% - 260px)}.map-summary>span:last-child{color:#7a8a81}.summary-dot{width:6px;height:6px;background:#497d64;border-radius:50%}.map-settings{position:absolute;top:18px;right:18px;z-index:500;display:flex;gap:6px}.map-settings select{border:1px solid #dce5df;background:#fffffff5;border-radius:7px;padding:9px 12px;font-size:10px;max-width:180px}.map-settings button{font-size:20px;padding:3px 10px}.leaflet-control-zoom{border:1px solid #dce5df!important;box-shadow:0 2px 8px #233e3810!important;margin-bottom:72px!important;border-radius:7px!important;overflow:hidden}.leaflet-control-zoom a{color:#527267!important;font-size:18px!important}.leaflet-control-scale{margin-bottom:29px!important}.leaflet-control-attribution{font-size:8px!important;background:#ffffffe0!important;color:#81958a}.leaflet-tooltip{border:1px solid #dce5df;background:#fff;color:#203c3b;border-radius:6px;padding:8px 11px;font:11px 'DM Sans',system-ui;box-shadow:0 4px 20px #2943341c;max-width:280px;white-space:normal}.legend{position:absolute;bottom:45px;left:20px;z-index:500;padding:13px 15px;background:#fffffff5;border:1px solid #dce5df;border-radius:8px;box-shadow:0 2px 10px #233e3810;font-size:10px;max-width:250px}.legend-title{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:#6e8576;margin-bottom:9px}.legend-item{display:flex;align-items:center;gap:8px;margin-top:6px}.legend-item i{height:9px;width:9px;border-radius:50%;display:inline-block;flex-shrink:0}.legend-note{font-size:9px;line-height:1.55;color:#7a8c7d;max-width:220px;margin:9px 0 0}.legend-ramp{height:7px;border-radius:3px;background:linear-gradient(90deg,#eacb80,#dd815a,#a03c34);margin:10px 0 5px}.legend-scale{display:flex;justify-content:space-between;font-size:9px;color:#7e8c83}.map-caption{position:absolute;bottom:9px;left:20px;font-size:9px;color:#61796d;background:#ffffffe0;padding:4px 7px;border-radius:3px;z-index:450;max-width:calc(100% - 220px);pointer-events:none}.cluster-marker{border:0;background:none}.cluster-marker button{width:35px;height:35px;padding:0;border-radius:50%;border:3px solid #ffffffeb;background:var(--marker);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--marker) 17%,transparent),0 3px 8px #233e3833;font-size:11px;font-weight:650}.cluster-marker button:hover{transform:scale(1.08)}.point-marker button{width:14px;height:14px;border:2px solid #fff;padding:0;display:block;border-radius:50%;background:var(--marker);box-shadow:0 1px 6px #2342}.point-marker.edna button{border-radius:2px;transform:rotate(45deg);width:12px;height:12px}.filter-panel{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 26px;max-height:43vh;overflow:auto}.filter-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:14px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.field{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:600;color:#6e8275}.field select,.field input{border:1px solid #dce4dd;border-radius:5px;background:#fbfcfa;padding:8px;font-size:11px;width:100%;min-width:0}.year-fields{display:flex;gap:5px;align-items:center}.filter-checks{display:flex;gap:22px;margin-top:13px;font-size:10px;color:#607d68;flex-wrap:wrap}.filter-checks label{display:flex;align-items:center;gap:7px}.filter-checks input{accent-color:#286c5e}.filter-note{font-size:9px;color:#8a968b;margin:12px 0 0}#filterError{font-size:11px;color:#a04537}.filter-panel+.selection-bar{padding-top:12px}.empty-map{position:absolute;z-index:510;top:48%;left:50%;transform:translate(-50%,-50%);padding:27px;text-align:center;background:#fffffff2;border:1px solid #dce5df;border-radius:12px;box-shadow:0 10px 40px #23431a;width:340px;max-width:80%}.empty-icon{font-size:34px;color:#99ac9c}.empty-map h3{margin:6px 0 9px}.empty-map p{font-size:12px;line-height:1.7;color:#708477}.empty-map button{font-size:11px;margin-top:6px}.detail-panel{position:absolute;top:0;right:0;bottom:0;width:370px;max-width:100%;background:#fff;z-index:650;box-shadow:-8px 0 32px #23421b;overflow:auto;padding:28px 25px 24px;scrollbar-width:thin}.detail-panel h2{font-size:22px;padding-right:14px;margin:12px 0 8px;overflow-wrap:anywhere}.close-button{position:absolute;right:12px;top:12px;border:0;background:#f4f7f2;width:28px;height:28px;border-radius:50%;padding:0;font-size:21px;color:#6c8171}.detail-kind{display:inline-block;font-size:9px;color:#4c7961;background:#eef4eb;border:1px solid #dce8d5;border-radius:4px;padding:5px 7px}.detail-meta{font-size:11px;color:#7c8d80;line-height:1.7}.detail-tags{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0}.detail-tags span{font-size:9px;padding:4px 7px;background:#f3f6f1;border-radius:4px;color:#6a806c}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.metric{padding:13px 12px;background:#f5f7f3;border-radius:7px;overflow-wrap:anywhere}.metric strong{display:block;font-size:18px;font-weight:600}.metric small{display:block;margin-top:6px;font-size:9px;color:#7b8c7d;line-height:1.5}.metric.text{grid-column:span 2}.metric.text strong{font-size:11px;line-height:1.6}.evidence-note{font-size:11px;line-height:1.8;color:#6e8072;background:#faf9f3;border-left:2px solid #c6b684;padding:11px 13px;margin:17px 0}.provenance{border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:10px;line-height:1.75;color:#788879;overflow-wrap:anywhere}.provenance a{display:block;font-weight:550;font-size:12px;margin-bottom:8px}.flags{font-size:9px;line-height:1.65;color:#936e43;margin:12px 0}.detail-panel details{font-size:11px;margin-top:18px}.detail-panel summary{cursor:pointer;font-weight:550;padding:9px 0}.taxa-list{padding:0;list-style:none}.taxa-list li{border-bottom:1px solid var(--line);padding:7px 0;display:flex;justify-content:space-between;gap:10px;font-size:10px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 5px}.list-heading p{font-size:10px;color:#7b8c7d;line-height:1.6}.list-heading button{font-size:10px;flex-shrink:0}.record-card{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px 7px;background:#fff;font-weight:400}.record-card .record-kind{font-size:9px;display:flex;align-items:center;gap:5px;color:#8a988b}.record-kind i{width:5px;height:5px;border-radius:50%}.record-card strong{display:block;font-size:12px;font-weight:550;line-height:1.5;margin:6px 0}.record-card small{font-size:10px;color:#7d8d7d;line-height:1.5}.more{width:100%;margin-top:12px;font-size:11px;background:#f4f7f1}.panel-note{font-size:10px;line-height:1.75;color:#83927f;margin:16px 5px}.source-card{padding:17px 5px;border-bottom:1px solid var(--line)}.source-card a{font-size:12px;line-height:1.6;font-weight:550;text-decoration:none}.source-card a:hover{text-decoration:underline}.source-card p{font-size:10px;color:#7c8b79;line-height:1.7;margin:8px 0}.source-stage{display:inline-block;font-size:9px;padding:4px 6px;border-radius:4px;background:#f4f1e7;color:#927a4d;margin-bottom:8px}.source-stage.mapped{background:#edf4eb;color:#5d865e}.source-card details{font-size:10px;color:#7b8c78;margin-top:9px}.source-card summary{cursor:pointer}.source-id{font-size:9px;color:#8b9987;display:block;margin-bottom:4px}.empty-list{text-align:center;padding:32px 12px;font-size:12px;line-height:1.8;color:#7d8e79}.empty-list strong{display:block;color:#4f6f51;font-size:14px;margin-bottom:8px}dialog{border:1px solid #dce5df;border-radius:14px;padding:32px;width:590px;max-width:90vw;max-height:85vh;color:var(--ink);box-shadow:0 20px 80px #173b3933}dialog::backdrop{background:#173b394f;backdrop-filter:blur(3px)}dialog p{font-size:12px;color:#748774;line-height:1.85}dialog h2{font-size:27px;margin-top:15px}.dialog-heading{position:relative}.dialog-heading .close-button{top:-14px;right:-16px}.about-stats{display:flex;gap:10px;margin:20px 0}.about-stats div{flex:1;background:#f2f6ef;padding:17px;border-radius:8px}.about-stats strong{display:block;font-size:25px}.about-stats small{font-size:10px;color:#7f907b}.about-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px;font-size:11px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:1500;border-radius:7px;padding:12px 20px;background:#244c3e;color:#fff;font-size:12px;box-shadow:0 5px 24px #2344}#fatal{position:fixed;inset:20% 20%;padding:40px;background:white;z-index:1800}#filterBadge{padding:2px 5px;border-radius:4px;background:#eef3e9;color:#426f4c;font-size:9px}
@media(min-width:1600px){.workspace{grid-template-columns:385px minmax(0,1fr)}.explorer-head{padding:30px 28px 0}.explorer-body{padding-left:23px;padding-right:23px}.subject-row{padding:10px 8px}.map-topbar{padding-top:22px;padding-bottom:19px}}
@media(max-width:1080px){.header-note{display:none}.workspace{grid-template-columns:310px minmax(0,1fr)}.explorer-head{padding:20px 18px 0}h1{font-size:20px}.map-topbar{padding:17px 18px}.selection-bar{padding-left:18px;padding-right:18px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-summary{top:64px;max-width:calc(100% - 40px)}.map-settings{left:20px;right:auto}.detail-panel{width:330px}}
@media(max-width:720px){.masthead{height:67px;padding:0 15px;gap:6px}.brand strong{font-size:15px}.brand small{font-size:7px;letter-spacing:1.4px}.brand-mark{width:34px;height:34px;line-height:29px;font-size:35px;border-radius:9px}.brand{gap:8px}.header-actions{gap:0}.header-actions .quiet{font-size:10px;padding:7px}#shareView{display:none}.workspace{display:flex;flex-direction:column-reverse;height:auto;min-height:0}.map-stage{height:63dvh;min-height:425px}.explorer{height:68dvh;min-height:450px;border-right:0;border-top:1px solid var(--line)}.explorer-head{padding:21px 20px 0}.explorer-head h1{font-size:22px}.explorer-head>p{margin-bottom:12px}.tabs{margin-top:11px}.map-topbar{padding:12px 14px 9px}.map-topbar h2{font-size:16px}.map-actions{gap:5px}.map-actions button{padding:7px 9px;font-size:10px}.selection-bar{padding:0 14px 9px;min-height:38px}.chip{font-size:9px;padding:4px 6px}.map-settings{top:12px;left:12px}.map-summary{left:12px;top:54px;font-size:9px;padding:8px 10px;max-width:calc(100% - 24px)}.map-caption{font-size:8px;left:12px;bottom:16px;max-width:calc(100% - 70px)}.legend{bottom:54px;left:12px;padding:9px 11px;max-width:190px;font-size:9px}.legend-note{font-size:8px}.legend-title{font-size:8px;margin-bottom:6px}.legend-item{margin-top:4px}.map-topbar .eyebrow{font-size:7px}.filter-panel{position:absolute;top:67px;left:0;right:0;z-index:900;max-height:65vh;box-shadow:0 10px 30px #2343;padding:18px}.filter-grid{gap:11px}.detail-panel{width:100%;padding:24px;z-index:800}.detail-panel h2{font-size:20px}.empty-map{padding:15px;width:285px}.empty-map h3{font-size:15px}.empty-map p{font-size:10px}.empty-icon{font-size:25px}.explorer-body{padding-left:20px;padding-right:20px}.subject-row{padding:10px 8px}.subject-name{font-size:13px}.subject-meta{font-size:10px}.subject-group summary{font-size:13px}.only-button{border:1px solid #e3e9dc;background:#fff;font-size:11px}}
.leaflet-tile-pane{filter:saturate(.4) brightness(1.04)}.legend-toggle{border:0;padding:0 0 7px;background:none;font-size:10px;font-weight:600;width:100%;display:flex;justify-content:space-between;gap:20px}.legend.collapsed .legend-body{display:none}.legend.collapsed .legend-toggle{padding-bottom:0}.legend-body .legend-title{display:none}
