@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#071e2a;--panel:#0b2937;--line:#23414c;--mint:#63e3be;--muted:#94b0bb}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#124152 0,transparent 46%),var(--bg);color:#eaf5f5;font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,label.button{ -webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:0}header{height:85px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{display:flex;gap:11px;align-items:center;font:800 25px Manrope,sans-serif}.brand:first-letter{color:var(--mint)}.mint{color:var(--mint)}nav{display:flex;gap:28px;height:100%;align-items:center}.nav{background:transparent;color:var(--muted);height:100%;position:relative;font-weight:600}.nav.active{color:var(--mint)}.nav.active:after{content:'';height:2px;background:var(--mint);position:absolute;bottom:0;left:0;right:0}#log-count{font-size:10px;padding:3px 6px;border-radius:5px;background:#21424c;margin-left:5px}.quiet{background:transparent;color:#c4d8df;border:1px solid #36525c;border-radius:8px;padding:10px 15px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{padding:45px 0 37px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.8px;color:var(--mint);font-weight:700}h1{font:600 clamp(32px,3.4vw,52px)/1.17 Manrope,sans-serif;letter-spacing:-2px;margin:15px 0}h1 em{font-style:normal;color:#8addd1}.subtitle{line-height:1.8;color:var(--muted);font-size:14px}.stats{display:flex;gap:35px;border:1px solid #34515c;background:#0c2c3966;border-radius:15px;padding:26px 30px;margin-top:30px}.stats div{display:flex;flex-direction:column;gap:8px}.stats strong{font:500 33px Manrope}.stats strong span{font-size:18px;color:var(--muted)}.stats div>span{color:var(--muted);font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:15px}.section-title{font:700 18px Manrope;white-space:nowrap}.section-title small{color:var(--muted);font:400 11px 'DM Sans';margin-left:10px}.pulse{display:inline-block;width:7px;height:7px;background:var(--mint);box-shadow:0 0 12px #63e3be70;border-radius:50%;margin-right:9px}.filters{display:flex;gap:9px}input,select,textarea{border:1px solid #36515b;border-radius:8px;padding:11px;background:#102e3b;color:#e4f2f3;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--mint)}#search{width:245px}select{max-width:145px}.explorer{height:540px;position:relative;border:1px solid #3a5862;border-radius:15px;overflow:hidden;background:#102c38}#map{height:100%;width:100%;background:#102b36}aside{position:absolute;right:15px;top:15px;bottom:15px;width:320px;border:1px solid #3d5860;border-radius:12px;background:#0a2635;z-index:500;overflow:auto;box-shadow:0 12px 40px #0005}.site-photo{height:145px;position:relative;background:linear-gradient(160deg,#216a72,#092d49);overflow:hidden}.site-photo img{width:100%;height:100%;object-fit:cover;opacity:.85}.site-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0a2635)}.tag{position:absolute;z-index:1;top:12px;left:15px;background:#092b35d9;border:1px solid #80d8c450;padding:5px 8px;border-radius:5px;font-size:9px;letter-spacing:1px;color:#9eefd6}.detail-body{padding:0 19px 18px}h2{font:700 24px Manrope;margin:10px 0}h3{font:600 12px Manrope;margin:21px 0 10px}.location{color:#9bb9c4;font-size:11px;margin-top:3px}.description{font-size:12px;line-height:1.7;color:#a9c2cb}.facts{display:flex;justify-content:space-between;margin:18px 0;padding:12px 0;border-block:1px solid var(--line)}.facts span{font-size:9px;color:var(--muted);display:block;margin-bottom:6px}.facts strong{font-size:11px;font-weight:500}.species{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:10px;padding:6px 8px;border:1px solid #2d5660;background:#113642;border-radius:20px;color:#b9dadf}.primary{background:var(--mint);color:#07372e;font-weight:700;padding:12px;border-radius:7px;width:100%;margin-top:17px}.save-btn{width:100%;margin-top:8px;padding:10px}.source{font-size:9px;color:#91b2bc;margin-top:14px;line-height:1.6}.source a{text-decoration:underline}.map-caption{position:absolute;bottom:20px;left:20px;z-index:450;background:#071e2ae8;border:1px solid #37515a;padding:10px 14px;border-radius:7px;color:#b4cdd5;font-size:11px}.below{display:flex;justify-content:space-between;color:#799eac;font-size:10px;margin-top:8px}.visited-dot{color:#ffca7c;margin-left:16px}footer{display:flex;justify-content:space-between;color:#7096a5;font-size:10px;border-top:1px solid var(--line);padding:23px 0;margin-top:27px}.pin{background:#67ebc4;border:3px solid #0c3440;border-radius:50%;width:17px!important;height:17px!important;box-shadow:0 0 0 6px #5dd7c52b,0 0 15px #4cdbc64d}.pin.visited{background:#ffca7c}.pin.selected{box-shadow:0 0 0 9px #63e3be44,0 0 25px #63e3be88}.leaflet-container{font-family:'DM Sans',sans-serif}.leaflet-control-zoom a{background:#0b2a38!important;color:#b9d8e0!important;border-color:#34515b!important}.leaflet-control-attribution{background:#0b2a38e0!important;color:#9ab8c4!important;font-size:8px!important}.leaflet-control-attribution a{color:#a0cecd!important}.leaflet-tooltip{background:#0b2a38;border:1px solid #4f727d;color:white;box-shadow:none}.leaflet-tooltip:before{display:none}dialog{background:#0b2937;border:1px solid #446570;color:#eaf5f5;border-radius:15px;padding:25px;width:min(520px,94vw)}dialog::backdrop{background:#00131cbb;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{padding:6px 10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}label{font-size:12px;color:#b1cbd4;display:block}label input,label textarea{display:block;width:100%;margin-top:7px}textarea{min-height:80px;resize:vertical}#species-checks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}#species-checks label{border:1px solid #36545e;padding:8px;border-radius:20px;font-size:11px}#species-checks input{display:inline;width:auto;margin:0 5px 0 0;accent-color:var(--mint)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:2000;background:#b4f2dd;color:#10372f;padding:13px 22px;border-radius:9px;display:none}.empty{padding:70px 20px;text-align:center;border:1px dashed #365762;border-radius:15px;color:#9bbcc8}.log-entry{border:1px solid var(--line);border-radius:12px;background:#0b2937;padding:20px;margin:12px 0;display:flex;justify-content:space-between;gap:15px}.log-entry p{color:var(--muted);line-height:1.7}.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.saved-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.saved-card p{color:var(--muted)}button:hover,.button:hover{filter:brightness(1.15)}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}@media(min-width:1450px){.explorer{height:600px}}@media(max-width:950px){.intro{gap:20px}.stats{gap:16px;padding:20px}.toolbar{align-items:flex-start;flex-direction:column}.filters{width:100%}#search{flex:1}.below{gap:20px}.saved-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{padding:0 5%;height:70px;flex-wrap:wrap}.brand{font-size:20px}header>.quiet{display:none}nav{gap:15px;font-size:12px}.intro{display:block;padding:25px 0}h1{font-size:35px}.stats{margin-top:20px;justify-content:space-between}.filters{flex-wrap:wrap}#search{width:100%;flex:auto}.explorer{height:auto;overflow:visible;border:0;background:none}#map{height:330px;border:1px solid #3a5862;border-radius:12px}aside{position:relative;inset:auto;width:100%;margin-top:13px;max-height:none}.site-photo{height:170px}.map-caption{top:285px;bottom:auto;left:10px;font-size:9px}.below{display:block;line-height:1.6}footer{display:block;line-height:2}.saved-grid{grid-template-columns:1fr}.log-entry{display:block}.form-grid{gap:10px}.section-title small{font-size:10px}}

.leaflet-tile-pane{filter:invert(1) hue-rotate(155deg) saturate(.45) brightness(.75)}
/* Destination research and personal wildlife collection. */
.curation-note{font-size:12px;color:#a1bdc7;margin:0 0 16px;line-height:1.7}.why{font-size:13px;line-height:1.6;color:#ceeadf;font-weight:500}.season{font-size:11px;line-height:1.7;color:#bad4dc}.season span{display:block;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:4px}.wildlife-link{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:#153f46;color:var(--mint);padding:12px 10px;border:1px solid #356257;border-radius:8px;text-align:left;font-size:11px}.wildlife-link span{font-size:9px;color:#a7c7c5}.feature-caption{position:absolute;z-index:2;bottom:12px;left:16px;font-size:9px;color:#c7e5e5;text-shadow:0 1px 4px #000}.geology-photo{background:radial-gradient(ellipse at center,#4f9aac,#153847 45%,#081a2c)}.geology-mark{display:block;text-align:center;font-size:95px;line-height:145px;color:#7bcddbaa}.destination-heading{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}.destination-heading h3{font-size:13px;margin:0}.destination-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.destination-choice{text-align:left;background:#0d2b38;border:1px solid #294652;border-radius:9px;color:#c9dfe4;padding:12px 13px;min-height:66px}.destination-choice span{display:block;font-size:12px;font-weight:600;line-height:1.4}.destination-choice small{display:block;color:#8eafbd;font-size:10px;margin-top:5px}.destination-choice.chosen{border-color:var(--mint);background:#163d41;box-shadow:inset 3px 0 var(--mint)}.wildlife{scroll-margin-top:20px;margin-top:40px;padding-top:29px;border-top:1px solid var(--line)}.wildlife-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.wildlife-heading h2{font-size:28px;margin:5px 0}.progress-pill{padding:9px 14px;background:#123b3c;border:1px solid #396a5f;border-radius:30px;font-size:11px;white-space:nowrap;color:var(--mint)}.wildlife-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:23px;align-items:start}.animal-card{background:#0d2b38;border:1px solid #2a4b58;border-radius:13px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.animal-card.is-seen{border-color:var(--mint);box-shadow:0 0 0 1px #63e3be22}.animal-photo{display:block;position:relative;width:100%;padding:0;background:#0b1d2a;aspect-ratio:4/3;overflow:hidden}.animal-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.animal-photo:hover img{transform:scale(1.04)}.animal-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#031a268c)}.seen-badge{position:absolute;z-index:1;bottom:12px;left:12px;padding:7px 10px;border-radius:20px;background:#092b39de;border:1px solid #c2ddd666;color:white;font-size:11px;font-weight:600}.is-seen .seen-badge{background:var(--mint);color:#07372e;border-color:var(--mint)}.is-seen .animal-photo:before{content:'✓';position:absolute;right:12px;top:12px;z-index:2;background:var(--mint);color:#07372e;width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;font-weight:800}.animal-body{padding:15px}.animal-body h3{margin:0;font-size:15px;line-height:1.5}.scientific{font-size:10px;color:#87adba;font-style:italic;margin:4px 0 12px}.encounter{font-size:11px;line-height:1.7;color:#aac4ce;min-height:38px}.animal-links{display:flex;justify-content:space-between;gap:6px;margin:15px 0;color:#87dbc3;font-size:10px}.text-button{padding:0;background:none;color:#a4ccd7;font-size:10px}.photo-credit{font-size:9px;color:#81a4b3;line-height:1.7;border-top:1px solid #244450;padding-top:10px}.photo-credit p{overflow-wrap:anywhere}.photo-credit a,.wildlife-sources a,.source a{text-decoration:underline;text-underline-offset:2px}summary{cursor:pointer}.wildlife-sources{margin-top:22px;padding:17px 20px;border:1px solid #284852;background:#0a2632;border-radius:9px;font-size:10px;line-height:1.9;color:#90b1bd}.wildlife-sources strong{color:#c2dbe1;margin-right:8px}.wildlife-sources p{margin:9px 0 0;color:#7d9fac}.reef-cluster{background:#153c46;border:1px solid var(--mint);border-radius:50%;box-shadow:0 0 0 5px #60d8bf22;color:#9ef1d9;text-align:center;font-weight:700;line-height:30px}.no-results{color:#a6beca;grid-column:1/-1;padding:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landscape-note{grid-column:1/-1;text-align:center;padding:40px;background:linear-gradient(140deg,#164858,#0b2539);border:1px solid #366273;border-radius:13px}.landscape-note>span{font-size:60px;color:#80d9d7}.landscape-note h3{font-size:22px;margin:15px}.landscape-note p{color:#adc9d1;margin-bottom:25px}.landscape-note a{display:inline-block}#photo-dialog{width:min(920px,94vw)}#large-photo{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:18px auto}#photo-dialog a{color:var(--mint)}.leaflet-marker-icon:focus-visible{outline:3px solid white;outline-offset:5px}aside{scrollbar-width:thin;scrollbar-color:#3c6771 #0a2635}.source summary{padding:8px 0}.site-photo{height:135px}.leaflet-tile-pane{filter:invert(1) hue-rotate(175deg) saturate(.45) brightness(.85)}
@media(max-width:1050px){.wildlife-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.destination-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.wildlife-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wildlife-heading h2{font-size:23px}.progress-pill{padding:8px;font-size:10px}}@media(max-width:450px){.wildlife-grid{gap:10px}.animal-body{padding:11px}.animal-body h3{font-size:13px}.animal-links{display:block;line-height:2.2}.text-button{display:block}.seen-badge{left:8px;bottom:8px;font-size:10px;padding:6px 8px}.wildlife-heading{align-items:flex-start;flex-direction:column}.destination-choice{padding:10px;font-size:11px}.wildlife-sources{padding:14px}.animal-body .encounter{min-height:57px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:901px){#map{width:calc(100% - 350px)}}
@media(max-width:900px){.intro{display:block;padding:30px 0}.stats{justify-content:space-between;max-width:450px;margin-top:20px}.explorer{height:auto;overflow:visible;border:0;background:none}#map{height:390px;width:100%;border:1px solid #3a5862;border-radius:12px}aside{position:relative;inset:auto;width:100%;margin-top:13px;max-height:none}.map-caption{top:345px;bottom:auto;left:10px;font-size:9px}.site-photo{height:180px}.detail-body{padding:0 20px 20px}}
@media(max-width:650px){#map{height:330px}.map-caption{top:285px}.site-photo{height:170px}}
/* Ocean daylight / deep ocean. Preferences apply before the first paint. */
.header-actions{display:flex;align-items:center;gap:14px}.theme-switch{display:flex;padding:4px;gap:3px;background:#0a2635;border:1px solid #365461;border-radius:30px}.theme-switch button{display:flex;align-items:center;gap:6px;border-radius:22px;background:transparent;color:#9cbac6;padding:8px 12px;font-size:11px;font-weight:600;white-space:nowrap}.theme-switch button[aria-pressed=true]{background:#254e58;color:#b8f6e2;box-shadow:0 2px 6px #0002}.theme-switch button span{font-size:15px;line-height:1}.theme-switch button:hover{filter:none;background:#1b3f4c}header{gap:18px}.header-actions #export{white-space:nowrap}
:root[data-theme=light]{color-scheme:light;--bg:#eaf6ff;--panel:#ffffff;--line:#c4e1f4;--mint:#0676c9;--muted:#4d718a}
[data-theme=light] body{color:#123e62;background:radial-gradient(ellipse at 95% 0,#a5ddff 0,transparent 44%),linear-gradient(160deg,#f4fbff,#e5f4ff 50%,#d6efff)}
[data-theme=light] header{background:linear-gradient(110deg,#0759b1,#087ed4 60%,#119edc);border-color:#127ec7;box-shadow:0 6px 26px #0864b51a;color:white}
[data-theme=light] .brand .mint{color:#bdeeff}[data-theme=light] .brand{color:#fff}[data-theme=light] .nav{color:#deefff}[data-theme=light] .nav.active{color:#fff}[data-theme=light] .nav.active:after{background:#b9f1ff;height:3px}[data-theme=light] #log-count{background:#ffffff26;color:#fff}
[data-theme=light] .theme-switch{background:#004a952b;border-color:#ffffff66}[data-theme=light] .theme-switch button{color:#e7f7ff}[data-theme=light] .theme-switch button[aria-pressed=true]{background:#fff;color:#075fa9;box-shadow:0 2px 8px #00336a24}[data-theme=light] .theme-switch button:hover{background:#ffffff26}[data-theme=light] .theme-switch button[aria-pressed=true]:hover{background:#eaf7ff}
[data-theme=light] .header-actions #export{color:#fff;border-color:#ffffff70}[data-theme=light] h1{color:#123e62}[data-theme=light] h1 em{color:#087dcb}[data-theme=light] .eyebrow{color:#076cba}[data-theme=light] .stats{background:linear-gradient(135deg,#fff,#d8efff);border-color:#afdaf4;box-shadow:0 8px 28px #1177bf10}[data-theme=light] .stats strong{color:#0669b5}
[data-theme=light] .quiet{color:#14639d;border-color:#9bc9e7;background:#ffffff8c}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:#fff;color:#174568;border-color:#a8cee8}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#64869e}[data-theme=light] input:focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus{box-shadow:0 0 0 3px #1495eb20}
[data-theme=light] .explorer{background:#d7efff;border-color:#a6d0ee;box-shadow:0 12px 35px #126aab12}[data-theme=light] #map{background:#b4dbf4;border-color:#99c9e9}[data-theme=light] .leaflet-tile-pane{filter:saturate(1.15) hue-rotate(-8deg) brightness(1.025)}[data-theme=light] aside{background:#fff;border-color:#b4d7ef;box-shadow:0 8px 25px #1c6fa11c;scrollbar-color:#8cbfe2 #edf7fd}
[data-theme=light] .site-photo:after{background:linear-gradient(transparent 40%,#fff)}[data-theme=light] .site-photo img{opacity:1}[data-theme=light] .feature-caption{background:#053c61c9;color:#fff;padding:4px 7px;border-radius:4px;bottom:18px}[data-theme=light] .tag{background:#fffef5ec;color:#075e9e;border-color:#d2ecff;box-shadow:0 2px 10px #00396319}
[data-theme=light] .location,[data-theme=light] .description,[data-theme=light] .curation-note,[data-theme=light] .season{color:#4c7089}[data-theme=light] .why{color:#0b618e}[data-theme=light] .source{color:#557a94}[data-theme=light] .source a{color:#076bb7}[data-theme=light] .wildlife-link{background:#e5f4ff;border-color:#a9d5f3;color:#0669b7}[data-theme=light] .wildlife-link span{color:#42728e}[data-theme=light] .primary{background:linear-gradient(110deg,#0869c2,#058fd4);color:#fff;box-shadow:0 4px 12px #0674c521}[data-theme=light] .chip{background:#e4f3ff;border-color:#b5d9f0;color:#256489}
[data-theme=light] .map-caption{background:#ffffffef;color:#1c628b;border-color:#add5ed;box-shadow:0 3px 12px #1469a51a}[data-theme=light] .below,[data-theme=light] footer{color:#517790}[data-theme=light] .visited-dot{color:#a45d00}[data-theme=light] .pin{background:#078cdd;border-color:#fff;box-shadow:0 0 0 6px #0e89df2b,0 1px 8px #005e9c50}[data-theme=light] .pin.selected{box-shadow:0 0 0 9px #078ee43b,0 0 20px #078ee450}[data-theme=light] .pin.visited{background:#e99517}[data-theme=light] .reef-cluster{background:#087bd0;color:#fff;border-color:#fff;box-shadow:0 0 0 5px #178bce26}[data-theme=light] .leaflet-marker-icon:focus-visible{outline-color:#083f72}
[data-theme=light] .leaflet-control-zoom a{background:#fff!important;color:#096ab2!important;border-color:#add2ec!important}[data-theme=light] .leaflet-control-attribution{background:#ffffffe8!important;color:#42667b!important}[data-theme=light] .leaflet-control-attribution a{color:#086db2!important}[data-theme=light] .leaflet-tooltip{background:#fff;color:#124d73;border-color:#acd2eb;box-shadow:0 2px 8px #126ca520}
[data-theme=light] .destination-choice{background:#ffffffc9;border-color:#bbdbf1;color:#204f71}[data-theme=light] .destination-choice small{color:#527d97}[data-theme=light] .destination-choice.chosen{background:#d9efff;border-color:#1582d0;box-shadow:inset 3px 0 #1582d0}[data-theme=light] .destination-choice:hover{background:#e0f2ff;filter:none}[data-theme=light] .no-results{color:#52778f}
[data-theme=light] .progress-pill{background:#def6ec;color:#086447;border-color:#91d7bc}[data-theme=light] .animal-card{background:#fff;border-color:#b9daee;box-shadow:0 6px 18px #1c79b10b}[data-theme=light] .animal-card.is-seen{border-color:#0a946b;box-shadow:0 0 0 2px #09a1731c}[data-theme=light] .animal-body h3{color:#154769}[data-theme=light] .scientific,[data-theme=light] .encounter{color:#52778e}[data-theme=light] .animal-links{color:#0875bd}[data-theme=light] .text-button{color:#176b9d}[data-theme=light] .photo-credit{border-color:#d3e8f5;color:#5c7e92}[data-theme=light] .photo-credit a{color:#086eaf}[data-theme=light] .is-seen .seen-badge,[data-theme=light] .is-seen .animal-photo:before{background:#d4fce9;border-color:#91dcbd;color:#075f43}[data-theme=light] .seen-badge{background:#fffef5f0;color:#15567f;border-color:#fff}
[data-theme=light] .wildlife-sources{background:#e1f2ff;border-color:#b7d9ee;color:#466f88}[data-theme=light] .wildlife-sources strong{color:#15577e}[data-theme=light] .wildlife-sources p{color:#557b92}[data-theme=light] .wildlife-sources a{color:#076eb5}[data-theme=light] .landscape-note,[data-theme=light] .geology-photo{background:linear-gradient(135deg,#c3e8ff,#e9f8ff);border-color:#a4d2ed}[data-theme=light] .landscape-note>span,[data-theme=light] .geology-mark{color:#1483b8}[data-theme=light] .landscape-note p{color:#4b7692}
[data-theme=light] dialog{background:#f7fcff;color:#164b70;border-color:#a6cfe9;box-shadow:0 25px 100px #003e6744}[data-theme=light] dialog::backdrop{background:#03457073}[data-theme=light] label{color:#426e8a}[data-theme=light] #species-checks label{border-color:#accfe7;background:#eaf6ff}[data-theme=light] #photo-dialog a{color:#066eb8}[data-theme=light] #toast{background:#075fae;color:#fff;box-shadow:0 5px 25px #00417633}[data-theme=light] .empty{color:#507a93;border-color:#9fc8e3;background:#ffffff85}[data-theme=light] .log-entry{background:#fff}[data-theme=light] .saved-card{box-shadow:0 6px 20px #1676b012}
@media(max-width:1100px){header{flex-wrap:wrap;min-height:85px;height:auto;padding-top:14px;padding-bottom:0;gap:12px 20px}header .brand{order:0}header .header-actions{order:1;margin-left:auto}header nav{order:2;flex-basis:100%;height:42px;justify-content:center;gap:32px}}
@media(max-width:650px){header{height:auto;min-height:108px;padding-top:12px}.header-actions{gap:0}.header-actions #export{display:none}.theme-switch button{padding:7px 10px}header nav{height:40px;gap:26px}header .brand{font-size:22px}.theme-switch{padding:3px}.theme-switch button{font-size:10px}.theme-switch button span{font-size:13px}}
[data-theme=light] header :is(button,a):focus-visible{outline-color:#fff}
/* Recognise and select species visually inside the dive log. */
#log-dialog{width:min(760px,94vw);max-height:92dvh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3c6771 #0a2635}.species-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c9e0e7;font-weight:600;font-size:13px}.species-picker-heading #dive-species-count{font-size:10px;font-weight:500;color:#9fdfcb;background:#123d3e;border:1px solid #32695c;border-radius:20px;padding:6px 10px;white-space:nowrap}.species-picker-hint{font-size:11px;color:#93b5c2;line-height:1.6;margin:9px 0 12px}#species-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}#species-checks .log-species-card{display:block;position:relative;padding:0;border:2px solid #36545e;border-radius:11px;background:#10313f;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:0}#species-checks .log-species-card input{position:absolute;width:1px;height:1px;opacity:0;margin:0;clip-path:inset(50%)}.log-species-photo{position:relative;display:block;aspect-ratio:16/10;background:#0a2635}.log-species-photo img{display:block;width:100%;height:100%;object-fit:cover}.log-species-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#052131a6)}.log-species-tick{position:absolute;right:9px;top:9px;z-index:1;width:25px;height:25px;border:1px solid #ffffffb3;border-radius:50%;background:#0a273973;color:transparent;text-align:center;line-height:23px;font-size:14px;font-weight:700}.log-species-state{position:absolute;z-index:1;bottom:9px;left:9px;font-size:9px;color:#fff;background:#062a3cda;padding:5px 7px;border-radius:15px}.log-species-state .picked{display:none}.log-species-info{display:block;padding:10px 11px 11px}.log-species-info strong{display:block;font-size:12px;line-height:1.5;color:#e1f1f3}.log-species-info i{display:block;font-size:9px;line-height:1.5;color:#92b7c4;margin-top:3px}#species-checks .log-species-card:has(input:checked){border-color:#65e2b9;box-shadow:0 0 0 2px #65e2b929}#species-checks .log-species-card:has(input:checked) .log-species-tick{background:#79ecc4;border-color:#79ecc4;color:#083e2d}#species-checks .log-species-card:has(input:checked) .log-species-state{background:#baf8df;color:#06412d}.log-species-card:has(input:checked) .not-picked{display:none}.log-species-card:has(input:checked) .picked{display:inline}#species-checks .log-species-card:hover{border-color:#73b5c8}#species-checks .log-species-card:focus-within{outline:2px solid var(--mint);outline-offset:3px}#species-checks>.source{grid-column:1/-1}[data-theme=light] #log-dialog{scrollbar-color:#9ac8e5 #f7fcff}[data-theme=light] .species-picker-heading{color:#254f6e}[data-theme=light] .species-picker-heading #dive-species-count{color:#086448;background:#e0f8ee;border-color:#a4dcc7}[data-theme=light] .species-picker-hint{color:#56798f}[data-theme=light] #species-checks .log-species-card{background:#fff;border-color:#b4d5eb}[data-theme=light] .log-species-info strong{color:#164d72}[data-theme=light] .log-species-info i{color:#5c7f95}[data-theme=light] #species-checks .log-species-card:has(input:checked){border-color:#079367;box-shadow:0 0 0 2px #0d9e6e24}@media(max-width:550px){#species-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#log-dialog{padding:18px}.log-species-info{padding:8px}.log-species-info strong{font-size:11px}.log-species-state{font-size:8px;left:6px;bottom:6px}.species-picker-heading{font-size:12px}.species-picker-heading #dive-species-count{font-size:9px;padding:5px 8px}}
/* A location-led, three-step dive journal. */
#log-dialog{padding:22px 25px 0}.dive-location-hero{position:relative;height:190px;margin:8px 0 20px;border-radius:13px;background:linear-gradient(130deg,#126b83,#09283c)}.dive-location-hero>img,.dive-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:13px}.dive-hero-shade{background:linear-gradient(180deg,#02141d08,#021b2cda)}.dive-hero-copy{position:absolute;left:22px;right:18px;bottom:18px;color:white}.dive-hero-copy p{font-size:9px;letter-spacing:1.3px;margin:0 0 7px;color:#dcf4ff}.dive-hero-copy h2{font-size:25px;line-height:1.3;margin:0;color:#fff;text-shadow:0 2px 10px #0004}.dive-hero-credit{position:absolute;top:10px;right:10px;z-index:5;color:#fff;font-size:9px}.dive-hero-credit summary{padding:5px 8px;background:#092b3abf;border:1px solid #ffffff60;border-radius:20px;list-style:none}.dive-hero-credit[open]{width:min(250px,75%);padding:12px;background:#092938f5;border:1px solid #7aabb7;border-radius:9px;max-height:180px;overflow:auto}.dive-hero-credit[open] summary{background:none;border:0;padding:0 0 6px}.dive-hero-credit p{font-size:9px;line-height:1.7;overflow-wrap:anywhere}.dive-hero-credit a{text-decoration:underline;color:#a1e9db}.dive-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;gap:8px;margin:0 0 24px}.dive-steps button{display:flex;align-items:center;justify-content:center;gap:8px;color:#91b3c2;border:1px solid #31515e;border-radius:9px;background:#0b2634;padding:11px 6px;font-size:11px}.dive-steps b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#274854;color:#b9d0d9;font-size:11px}.dive-steps button[aria-current=step]{background:#16463f;border-color:#68d8b6;color:#b6f1dd}.dive-steps button[aria-current=step] b{background:#8aeac7;color:#093a2d}.dive-steps .completed b{background:#285f55;color:#c1f2e0}.step-title{font:700 18px Manrope,sans-serif;margin:0 0 8px;line-height:1.4;color:#deeff1}.step-title:focus{outline:none}.dive-step-panel .form-grid{margin:17px 0 8px}.dive-step-panel .species-picker-heading h3{margin:0}.dive-step-panel textarea{min-height:70px}.dive-wizard-footer{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;gap:14px;margin-top:22px;padding:17px 0;background:#0b2937;border-top:1px solid #31505b}.dive-wizard-footer .primary{width:auto;margin:0;padding:12px 20px;min-height:44px;white-space:nowrap}.dive-wizard-footer #dive-step-status{color:#96b8c7;font-size:10px;margin-right:auto}.dive-wizard-footer .quiet{padding:11px 14px}#log-dialog:not([data-step="0"]) .dive-location-hero{height:108px}#log-dialog:not([data-step="0"]) .dive-hero-copy{left:17px;bottom:14px}#log-dialog:not([data-step="0"]) .dive-hero-copy h2{font-size:21px}.review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px;background:#103340;border:1px solid #315765;border-radius:11px;margin:18px 0}.review-details div{display:flex;flex-direction:column;gap:7px}.review-details span{font-size:9px;letter-spacing:.9px;color:#8db4c2}.review-details strong{font-size:15px;color:#e6f4f5;overflow-wrap:anywhere}#dive-review h4{font-size:12px;margin:20px 0 12px}#dive-review h4 span{float:right;color:#91b8c6;font-size:10px;font-weight:400}.review-species{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.review-species>div{overflow:hidden;border:1px solid #3f7166;border-radius:8px;background:#103b3d}.review-species img{display:block;width:100%;height:88px;object-fit:cover}.review-species span{display:block;padding:8px;font-size:10px;color:#b4e9d6}.review-notes p{white-space:pre-wrap;font-size:12px;line-height:1.8;color:#aecad4;overflow-wrap:anywhere}[data-theme=light] .step-title{color:#184e71}[data-theme=light] .dive-steps button{color:#547a95;background:#edf7fe;border-color:#bddcf0}[data-theme=light] .dive-steps b{background:#d8eafa;color:#427296}[data-theme=light] .dive-steps button[aria-current=step]{background:#dff1ff;border-color:#2a8bd0;color:#075fa4}[data-theme=light] .dive-steps button[aria-current=step] b{background:#0877c6;color:#fff}[data-theme=light] .dive-steps .completed b{background:#c8efdf;color:#156749}[data-theme=light] .dive-wizard-footer{background:#f7fcff;border-color:#c1dfef}[data-theme=light] .dive-wizard-footer #dive-step-status{color:#557b92}[data-theme=light] .review-details{background:#e7f4fe;border-color:#c2e0f2}[data-theme=light] .review-details span{color:#557e96}[data-theme=light] .review-details strong{color:#194f73}[data-theme=light] .review-species>div{border-color:#a4d7c5;background:#eefaf4}[data-theme=light] .review-species span{color:#176445}[data-theme=light] .review-notes p,[data-theme=light] #dive-review h4 span{color:#55788f}.destination-choice{display:flex;align-items:center;gap:10px;padding:8px}.destination-thumb{width:62px;height:58px;object-fit:cover;border-radius:6px;flex-shrink:0}.destination-copy{min-width:0}.destination-copy>span{display:block}.saved-location-photo{display:block;width:100%;height:140px;object-fit:cover;border-radius:8px;margin-bottom:18px}@media(max-width:550px){#log-dialog{padding:16px 16px 0}.dive-location-hero{height:165px}.dive-hero-copy{left:15px;bottom:15px}.dive-hero-copy h2{font-size:23px}.dive-steps{gap:5px;margin-bottom:20px}.dive-steps button{gap:5px;padding:9px 3px;font-size:10px}.dive-steps b{width:19px;height:19px;font-size:10px}.dive-wizard-footer{gap:8px;padding:13px 0}.dive-wizard-footer .primary{padding:12px;font-size:12px}.dive-wizard-footer .quiet{font-size:11px;padding:11px 9px}.review-species{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-thumb{width:44px;height:54px}.destination-choice{gap:8px}.destination-copy small{font-size:9px}.step-title{font-size:17px}}

/* A personal encounter, marked with a heart. */
.is-seen .animal-photo:before{content:'♥';font-size:17px}.log-species-card:has(input:checked) .log-species-tick{font-size:16px}
/* Map first: full-width exploration with details floating inside the canvas. */
main{max-width:none;padding:0 24px}header{padding-left:24px;padding-right:24px}.intro{padding:20px 0 15px;gap:24px;display:flex}.intro h1{font-size:30px;letter-spacing:-1px;margin:8px 0}.intro h1 br{display:none}.intro h1 em:before{content:' '}.intro .eyebrow{font-size:9px;margin:0}.intro .subtitle{font-size:12px;line-height:1.5;margin:8px 0}.intro .subtitle br{display:none}.intro .stats{margin:0;padding:15px 22px;gap:25px;max-width:none;flex-shrink:0}.intro .stats strong{font-size:25px}.toolbar{margin-bottom:10px}.curation-note{margin-bottom:10px;font-size:11px}.explorer{position:relative;width:100%;height:clamp(540px,76dvh,1000px);min-height:540px;border:1px solid #3a5862;border-radius:16px;overflow:hidden;background:#102c38}#map{width:100%!important;height:100%!important;border:0;border-radius:0}.map-inspector{position:absolute;right:16px;top:16px;bottom:auto;width:390px;max-height:calc(100% - 32px);overflow-y:auto;overscroll-behavior:contain;z-index:600;border:1px solid #42626c;border-radius:14px;background:#0a2635f7;box-shadow:0 12px 45px #00131c55;scrollbar-width:thin;scrollbar-color:#48727b #0a2635;backdrop-filter:blur(14px)}.inspector-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 8px}.inspector-top .eyebrow{font-size:8px;margin:0}.inspector-top .quiet{padding:5px 9px;font-size:12px}.inspector-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 12px 12px;padding:4px;background:#071c28;border:1px solid #2b4d59;border-radius:9px}.inspector-tabs button{padding:9px 4px;border-radius:6px;font-size:11px;color:#a3c0cc;background:transparent}.inspector-tabs button[aria-selected=true]{background:#24504f;color:#aaf1d9;font-weight:700}.inspector-tabs span{margin-left:4px;font-size:9px}.map-inspector #detail{position:static;inset:auto;width:100%;max-height:none;overflow:visible;border:0;background:transparent;box-shadow:none;margin:0;border-radius:0}.map-inspector .site-photo{height:165px}.map-inspector .site-photo img{opacity:1}.map-inspector .detail-body{padding:0 18px 18px}.map-inspector h2{font-size:23px}.map-inspector .description{font-size:11px}.map-inspector .facts{margin:12px 0}.map-inspector .why{font-size:12px}.map-inspector .wildlife{margin:0;padding:4px 14px 16px;border:0;scroll-margin:0}.map-inspector .wildlife-heading{display:block}.map-inspector .wildlife-heading .eyebrow{display:none}.map-inspector .wildlife-heading h2{font-size:20px;margin:0 0 10px}.map-inspector .progress-pill{display:inline-block;font-size:10px;padding:6px 10px}.map-inspector .wildlife-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.map-inspector .animal-body{padding:10px}.map-inspector .animal-body h3{font-size:12px}.map-inspector .scientific{font-size:9px}.map-inspector .encounter{font-size:10px;min-height:0}.map-inspector .animal-links{display:block;line-height:2}.map-inspector .text-button{display:block}.map-inspector .seen-badge{font-size:9px;left:7px;bottom:7px;padding:6px 7px}.map-inspector .is-seen .animal-photo:before{right:7px;top:7px;width:23px;height:23px;line-height:23px;font-size:14px}.map-inspector .wildlife-sources{padding:12px;font-size:9px}.map-inspector .landscape-note{padding:20px 14px}.map-inspector .landscape-note h3{font-size:17px}.map-tools{position:absolute;left:64px;top:16px;z-index:450;display:flex;gap:8px}.map-tool{color:#d2e9ed;background:#0a2938ef;border:1px solid #3e616d;border-radius:8px;padding:10px 13px;font-size:11px;box-shadow:0 3px 12px #00131c20}.map-caption{left:16px;bottom:24px;top:auto!important;font-size:10px;max-width:calc(100% - 32px)}.below{font-size:9px}.destination-drawer{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:13px 16px}.destination-drawer>summary{font-size:12px;color:var(--muted)}.destination-drawer[open]>summary{margin-bottom:14px}.destination-drawer .destination-heading{margin-top:0}.destination-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}footer{margin-top:18px;padding:17px 0}.explorer:fullscreen,.explorer.map-expanded{height:100dvh!important;min-height:100dvh!important;width:100vw!important;border-radius:0;border:0}.explorer.map-expanded{position:fixed;inset:0;z-index:1500}.explorer:fullscreen .map-inspector{max-height:calc(100dvh - 32px)}[data-theme=light] .map-inspector{background:#fffffffa;border-color:#b4d5eb;box-shadow:0 12px 40px #0a467738;scrollbar-color:#91beda #f4faff}[data-theme=light] .map-inspector #detail{background:transparent;border:0;box-shadow:none}[data-theme=light] .inspector-tabs{background:#e9f4fd;border-color:#c1def2}[data-theme=light] .inspector-tabs button{color:#537b95}[data-theme=light] .inspector-tabs button[aria-selected=true]{background:#fff;color:#076cb7;box-shadow:0 2px 8px #1465a019}[data-theme=light] .map-tool{color:#126597;background:#fffffff5;border-color:#acd2eb}@media(max-width:1050px){.intro h1{font-size:25px}.intro .stats{padding:12px 15px;gap:17px}.toolbar{flex-direction:row;align-items:center}.filters{width:auto}#search{width:220px}.section-title{font-size:16px}.section-title small{display:block;margin:5px 0 0 17px}}@media(max-width:760px){main{padding:0 12px}header{padding-left:16px;padding-right:16px}.intro{display:block;padding:17px 0 12px}.intro h1{font-size:24px}.intro .subtitle{display:none}.intro .stats{display:none}.toolbar{display:block}.section-title{margin-bottom:12px}.section-title small{display:inline;margin-left:8px}.filters{width:100%;gap:7px}.filters #search{width:100%;flex:1;min-width:150px}.filters select{max-width:120px;font-size:11px}.curation-note{display:none}.explorer{height:76dvh;min-height:540px;border-radius:12px}.map-inspector{top:auto;bottom:12px;left:10px;right:10px;width:auto;max-height:55%;border-radius:14px}.map-inspector .site-photo{height:125px}.map-inspector .detail-body{padding:0 14px 15px}.map-inspector .wildlife-heading h2{font-size:18px}.map-tools{left:55px;top:12px;gap:6px}.map-tool{font-size:10px;padding:9px}.map-caption{font-size:8px;bottom:20px;padding:8px 10px}.below{display:block;line-height:1.6}.below p:last-child{display:none}.destination-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-inspector .wildlife-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-top{padding-top:8px}.inspector-tabs{margin-bottom:8px}.explorer:fullscreen .map-inspector{max-height:55%}}@media(max-width:440px){.filters{flex-wrap:wrap}.filters #search{flex-basis:100%}.filters select{flex:1;max-width:none}.intro h1{font-size:21px}.intro .eyebrow{font-size:8px}.explorer{height:72dvh;min-height:500px}.map-tool{padding:9px 8px}.map-inspector .animal-photo{aspect-ratio:16/10}}
/* Keep the entire map visible on a typical laptop screen. */
.intro{padding:12px 0;min-height:72px}.intro h1{font-size:23px;margin:0}.intro h1 em{margin-left:.22em}.intro h1 em:before{content:none}.intro .eyebrow,.intro .subtitle,.curation-note{display:none}.intro .stats{padding:9px 16px;gap:23px}.intro .stats strong{font-size:21px}.intro .stats div{gap:4px}.intro .stats div>span{font-size:9px}.explorer{height:calc(100dvh - 220px);min-height:460px;max-height:none}@media(max-width:760px){.intro{min-height:44px;padding:10px 0}.intro h1{font-size:20px}.explorer{height:calc(100dvh - 220px);min-height:420px}.toolbar{margin-bottom:12px}}@media(max-width:440px){.intro h1{font-size:17px}.explorer{height:calc(100dvh - 270px);min-height:400px}}

@media(min-width:761px){.explorer{height:calc(100dvh - 242px)}}
/* Full species research, kept compact inside the map inspector. */
.wildlife-filters{display:grid;gap:9px;margin:16px 0}.wildlife-filters input[type=search],.wildlife-filters select,.dive-species-tools input,.dive-species-tools select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:inherit;font:inherit;font-size:13px}.wildlife-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-only{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.photo-only input{accent-color:var(--mint);width:16px;height:16px}.research-results{font-size:12px;color:var(--muted);margin:10px 0}.evidence-badge{font-size:11px;line-height:1.5;color:var(--muted);padding:6px 9px;border:1px solid var(--line);border-radius:8px;display:inline-block;margin:5px 0}.guide-evidence{color:var(--mint)}.record-count{display:block;font-size:11px;margin-top:7px;color:var(--muted)}.missing-reference{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;min-height:145px;background:linear-gradient(145deg,var(--panel),var(--bg));color:var(--muted)}.missing-reference>span{font-size:48px;opacity:.5}.missing-reference small{font-size:12px}.research-more{width:100%;margin:12px 0}.research-method{font-size:12px;line-height:1.65}.research-method summary{cursor:pointer;color:var(--mint)}.research-loading{padding:26px 12px;line-height:1.7;color:var(--muted)}.dive-species-tools{display:grid;grid-template-columns:1fr 180px;gap:10px;margin:15px 0}.species-photo-card .missing-reference{min-height:130px}.species-photo-card small{display:block}.review-species .missing-reference{min-height:70px}.research-more[hidden],.wildlife-filters[hidden]{display:none}@media(max-width:600px){.dive-species-tools{grid-template-columns:1fr}.wildlife-filter-row{grid-template-columns:1fr}}
/* Crisp vector cartography with theme-specific ocean palettes. */
#map{background:#9ed9ed;font-family:'DM Sans',sans-serif}#map .maplibregl-canvas{outline:none}#map .maplibregl-ctrl-top-left{left:6px;top:6px}.maplibregl-ctrl-group{border-radius:9px!important;box-shadow:0 3px 15px #154b6b26!important;overflow:hidden}.maplibregl-ctrl-group button{width:33px;height:33px}.maplibregl-ctrl-attrib{font-size:9px!important}.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#1b6788;background:#a5dced;font-weight:600;z-index:2}.reef-marker{width:34px;height:34px;border:0;background:transparent;border-radius:50%;padding:0;cursor:pointer;box-shadow:none}.reef-pin-core{display:block;width:15px;height:15px;margin:9px;border:3px solid white;border-radius:50%;background:#087dc1;box-shadow:0 0 0 6px #087dc12b,0 2px 8px #15476355;transition:box-shadow .2s,background .2s}.reef-marker:hover .reef-pin-core,.reef-marker:focus-visible .reef-pin-core{box-shadow:0 0 0 9px #087dc138,0 3px 10px #15476355}.reef-marker.selected{z-index:5}.reef-marker.selected .reef-pin-core{width:20px;height:20px;margin:6px;border-width:4px;box-shadow:0 0 0 7px #0382c838,0 3px 9px #15476366}.reef-marker.visited .reef-pin-core{background:#efad45;box-shadow:0 0 0 6px #efad453b,0 2px 8px #15476355}.reef-map-cluster{width:36px;height:36px;border-radius:50%;border:3px solid #fff;background:#1686b6;color:#fff;font-size:12px;font-weight:700;box-shadow:0 0 0 5px #1686b62b,0 3px 12px #15476338;cursor:pointer}.reef-map-cluster:hover{background:#006c9e}.reef-marker:focus-visible,.reef-map-cluster:focus-visible{outline:3px solid #f8a12b;outline-offset:3px}[data-theme=dark] #map{background:#08334c}[data-theme=dark] .map-loading{background:#08334c;color:#a8dbe8}[data-theme=dark] .reef-pin-core{background:#64e4ca;border-color:#d6fff5;box-shadow:0 0 0 6px #64e4ca25,0 3px 10px #0005}[data-theme=dark] .reef-map-cluster{background:#1a6e83;border-color:#a5e2e4}[data-theme=dark] .maplibregl-ctrl-group{background:#153d50}[data-theme=dark] .maplibregl-ctrl-icon{filter:invert(1)}[data-theme=dark] .maplibregl-ctrl-group button+button{border-top-color:#315868}[data-theme=dark] .maplibregl-ctrl-attrib{background:#102e3edb;color:#accbd5}[data-theme=dark] .maplibregl-ctrl-attrib a{color:#b7dbe4}
/* A single icon family, explicit actions and image-led memories. */
.icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;pointer-events:none}button .icon,a .icon,label.button .icon{margin-right:7px}button .icon:last-child:not(:first-child){margin-right:0;margin-left:7px}.brand>.icon{width:30px;height:30px;color:var(--mint);flex-basis:30px}.theme-switch button .icon{width:15px;height:15px;flex-basis:15px;margin-right:5px}.quiet,.primary,.map-tool,.seen-toggle{display:inline-flex;align-items:center;justify-content:center;gap:0;line-height:1.35}.quiet,.primary{min-height:40px}.icon-button{width:36px;height:36px;min-height:36px;padding:8px!important}.icon-button .icon{margin:0}.map-inspector #close-inspector .icon,#close-dialog .icon{margin:0;width:17px;height:17px}.danger-button{color:#d4a5a4;border-color:#795153}.danger-button:hover{background:#612b3438}[data-theme=light] .danger-button{color:#a54349;border-color:#e8babe}[data-theme=light] .danger-button:hover{background:#fff0f1}.map-inspector .wildlife-grid{grid-template-columns:minmax(0,1fr);gap:15px}.map-inspector .animal-photo{aspect-ratio:16/10}.animal-photo{cursor:zoom-in}.is-seen .animal-photo:before{content:none!important}.photo-open-hint{position:absolute;left:10px;bottom:10px;padding:6px 9px;background:#042633ce;color:#fff;border-radius:7px;font-size:11px;display:inline-flex;align-items:center}.photo-open-hint .icon{width:14px;height:14px;margin-right:5px}.animal-body .seen-toggle{width:100%;margin-bottom:14px}.seen-toggle{border:1px solid #426976;background:#143d4c;color:#c5dfe6;border-radius:9px;padding:10px 13px;font-weight:600;cursor:pointer;min-height:40px}.seen-toggle.is-active{background:#124c43;color:#91f1cf;border-color:#58caa9}.seen-toggle.is-active .icon{fill:currentColor}.seen-toggle:hover{border-color:var(--mint)}[data-theme=light] .seen-toggle{color:#17689a;background:#edf7ff;border-color:#b8d9ed}[data-theme=light] .seen-toggle.is-active{color:#00734f;background:#dcf9ed;border-color:#66caa8}.species-title-button{font:inherit;font-weight:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.species-info-link{font-size:12px;margin:12px 0}.visible-credit,.location-photo-credit{font-size:11px!important;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.visible-credit a,.location-photo-credit a{text-decoration:underline;text-decoration-color:#6496ac66;text-underline-offset:2px}.visible-credit>.icon,.location-photo-credit>.icon{width:13px;height:13px;vertical-align:-2px;margin-right:3px}.location-photo-credit{margin:10px 0 18px}.map-inspector .photo-credit{font-size:10px!important;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.map-inspector .animal-body h3{font-size:19px}.map-inspector .scientific{font-size:12px}.map-inspector .encounter{font-size:12px;line-height:1.7}.map-inspector .animal-body{padding:15px}.photo-log-entry{display:grid;grid-template-columns:270px minmax(0,1fr);padding:0!important;overflow:hidden;gap:0!important}.log-destination-photo{position:relative;min-height:250px;background:var(--panel)}.log-destination-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.log-destination-photo>p{position:absolute;bottom:0;left:0;right:0;margin:0!important;padding:30px 12px 10px;background:linear-gradient(transparent,#021b2de8);color:#e1edf2;font-size:9px!important;line-height:1.5;overflow-wrap:anywhere}.log-memory{padding:25px 28px}.log-metrics{display:flex;gap:20px;flex-wrap:wrap}.log-metrics span{display:inline-flex;align-items:center;gap:5px}.log-metrics .icon{width:15px;height:15px}.log-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.species-memory{cursor:pointer}.species-memory .icon{width:12px;height:12px;margin-right:4px;fill:currentColor}.log-species-tick .icon{width:15px;height:15px;margin:0!important;vertical-align:-3px}.log-species-state .icon{width:11px;height:11px;margin:0 3px 0 0;vertical-align:-2px}.log-species-info small{font-size:10px;color:var(--muted);margin-top:5px}.missing-reference>.icon{width:40px;height:40px;opacity:.5}.review-species .icon{width:13px;height:13px;fill:currentColor}.species-dialog{width:min(1080px,96vw)!important;max-width:1080px;max-height:92dvh;overflow:auto;padding:0!important;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:18px}.species-dialog-heading{position:sticky;top:0;z-index:3;padding:16px 23px;border-bottom:1px solid var(--line);background:var(--panel)}.species-dialog-heading h2{font-size:23px;margin:0;line-height:1.35}.profile-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;padding:25px}.profile-photo{width:100%;height:auto;max-height:450px;object-fit:contain;background:#061e29;border-radius:12px;display:block}.profile-visual .visible-credit{margin:12px 0}.profile-scientific{font-size:18px;font-style:italic;color:var(--muted);margin:6px 0 18px}.profile-description{font-size:14px;line-height:1.85;white-space:pre-line}.profile-text-credit{font-size:10px;line-height:1.7;color:var(--muted)}.profile-text-credit a{text-decoration:underline}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}.profile-facts div{padding:10px 0;border-top:1px solid var(--line)}.profile-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.profile-facts dd{margin:6px 0 0;font-size:13px;overflow-wrap:anywhere}.profile-current{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg)}.profile-current h3{font-size:15px;margin:0 0 10px}.profile-current>p{font-size:12px;line-height:1.75}.profile-current .seen-toggle{display:flex;width:100%;margin-top:9px}.profile-image-note{font-size:11px;color:var(--muted);line-height:1.75}.reference-link{font-size:11px;margin-top:16px}.profile-places{padding:0 25px 25px}.profile-places-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:23px}.profile-places-heading h3{font-size:19px;margin:0}.profile-places-heading>span{font-size:12px;color:var(--muted)}.profile-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.profile-place{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg);color:inherit;border:1px solid var(--line);border-radius:10px;text-align:left;min-width:0}.profile-place:hover{border-color:var(--mint)}.profile-place>img{width:55px;height:65px;object-fit:cover;border-radius:6px}.profile-place>span{flex:1;min-width:0}.profile-place strong{display:block;font-size:12px;line-height:1.5}.profile-place small{display:block;font-size:10px;line-height:1.65;color:var(--muted);margin-top:4px}.profile-place>.icon{width:15px;height:15px;margin:0!important}.profile-place-seen{color:var(--mint)!important}.profile-place-seen .icon{width:10px;height:10px;fill:currentColor}.profile-no-photo{min-height:270px;border:1px solid var(--line);border-radius:12px;display:grid;place-content:center;text-align:center;padding:25px;color:var(--muted)}.profile-no-photo>.icon{width:70px;height:70px;margin:auto}[data-theme=light] .species-dialog{background:#fff;color:#194660}[data-theme=light] .species-dialog-heading{background:#fff}[data-theme=light] .profile-current,[data-theme=light] .profile-place{background:#f4faff}.empty>.icon{width:40px;height:40px;color:var(--mint)}@media(max-width:760px){.photo-log-entry{grid-template-columns:1fr}.log-destination-photo{min-height:200px}.log-memory{padding:20px}.profile-layout{grid-template-columns:1fr;padding:18px;gap:15px}.profile-photo{max-height:350px}.profile-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-places{padding:0 18px 18px}.species-dialog-heading{padding:14px 18px}.species-dialog-heading h2{font-size:20px}.profile-places-heading{display:block}.profile-places-heading>span{display:block;margin-top:8px}}@media(max-width:470px){.profile-place-grid{grid-template-columns:1fr}.profile-facts{grid-template-columns:1fr 1fr}.nav>.icon{display:none}}
.dive-hero-credit{position:absolute;right:8px;bottom:6px;top:auto;max-width:calc(100% - 16px);background:#052437d9;border:0;border-radius:5px;padding:4px 7px;color:#e7f4fa;font-size:8px;line-height:1.4}.dive-hero-credit p{margin:0}.dive-hero-copy{padding-bottom:30px}.picker-credit{font-size:8px!important;line-height:1.5;margin-top:7px!important}.saved-card>.visible-credit{margin:8px 0 14px}.clear-search{font-size:11px;min-height:40px;padding:8px 10px}.profile-place small{overflow-wrap:anywhere}
[data-theme=light] .brand>.icon{color:#b5efee}
/* Marine Atlas and the ReefRadar company footer. */
header>nav{gap:20px}.wishlist-actions{display:grid;gap:9px;margin-top:20px}.wishlist-actions button{width:100%}.atlas-intro{max-width:720px;margin:20px 0 26px}.atlas-intro h2{font:800 38px Manrope,sans-serif;margin:8px 0 13px;letter-spacing:-1px}.atlas-intro>p:last-child{color:var(--muted);font-size:15px;line-height:1.8}.atlas-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:15px;padding:20px;border:1px solid var(--line);background:var(--panel);border-radius:13px}.atlas-toolbar>label{display:grid;gap:8px;font-size:11px;font-weight:600;color:var(--muted)}.atlas-search-label{flex:1;min-width:240px}.atlas-toolbar input[type=search],.atlas-toolbar select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:inherit;font:inherit;font-size:13px}.atlas-toolbar .atlas-photo-filter{display:flex;align-items:center;gap:7px;min-height:42px}.atlas-photo-filter input{width:16px;height:16px;accent-color:var(--mint)}.atlas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:18px 0 24px}.atlas-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel);min-width:0;display:flex;flex-direction:column}.atlas-photo{width:100%;aspect-ratio:4/3;display:block;padding:0;position:relative;background:var(--bg);cursor:zoom-in}.atlas-photo>img{display:block;width:100%;height:100%;object-fit:cover}.atlas-photo .missing-reference{height:100%}.atlas-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.atlas-group{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 9px}.atlas-card h3{font-size:19px;margin:0 0 6px}.atlas-card h3 button{color:inherit;background:none;padding:0;text-align:left;font:inherit;line-height:1.4}.atlas-card .scientific{font-size:12px;margin:0 0 12px;overflow-wrap:anywhere}.atlas-distribution{font-size:12px;color:var(--muted);margin:0 0 17px}.atlas-distribution .icon{width:14px;height:14px;margin-right:3px}.atlas-card-body>.quiet{width:100%;margin-top:auto}.atlas-card .visible-credit{font-size:9px!important;margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line)}.atlas-seen{position:absolute;bottom:10px;left:10px;background:#dcf9ed;color:#00744e;border-radius:20px;padding:7px 10px;font-size:10px;font-weight:600}.atlas-seen .icon{width:12px;height:12px;fill:currentColor;margin:0 4px 0 0}.atlas-location-hint{font-size:13px;line-height:1.8;color:var(--muted);padding:15px;border:1px solid var(--line);border-radius:10px}.company-footer{display:block!important;margin:65px -24px 0!important;padding:0 36px!important;background:#082736;color:#d6e7ec;border-top:1px solid #224452}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px;padding:45px 0 35px}.footer-brand-block>.brand{font-size:26px}.footer-brand-block>.brand>.icon{color:#71dfcf}.footer-tagline{font-size:16px!important;color:#f1fafb!important;font-weight:600;margin:18px 0 9px!important}.footer-brand-block>p,.footer-care>p{max-width:300px;font-size:12px;line-height:1.9;color:#9ebbc7}.footer-ocean-note{display:inline-block;font-size:11px;margin-top:13px;color:#86d5c6}.footer-ocean-note>.icon{width:13px;height:13px;margin-right:4px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-column h3{color:#edf8fb;font-size:12px;margin:4px 0 8px;letter-spacing:.03em}.footer-column>button:not(.quiet),.footer-column>a,.footer-bottom button{background:none;border:0;padding:2px 0;color:#a9c5d0;font-size:12px;text-align:left;cursor:pointer}.footer-column>button:hover,.footer-column>a:hover,.footer-bottom button:hover{color:#83e5cc}.footer-care>p{margin:0}.footer-care>.quiet{border-color:#3b6070;color:#d7f3f3;font-size:11px;margin-top:10px}.footer-bottom{border-top:1px solid #284653;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#89a9b8;line-height:1.7}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom button{font-size:10px}.footer-bottom button:hover{text-decoration:underline}#company-info-dialog{width:min(650px,94vw);max-height:85dvh;overflow:auto;background:var(--panel);color:inherit;padding:26px;border:1px solid var(--line);border-radius:14px}#company-info-title{font-size:22px;margin:0}#company-info-body p{font-size:14px;line-height:1.9;color:var(--muted)}[data-theme=light] .atlas-toolbar,[data-theme=light] .atlas-card{background:#fff;border-color:#bdd9ec}[data-theme=light] .atlas-toolbar input[type=search],[data-theme=light] .atlas-toolbar select{background:#f5faff;color:#24546f}[data-theme=light] #company-info-dialog{background:#fff;color:#194660}[data-theme=light] .company-footer{background:linear-gradient(120deg,#103e62,#092b42);border-color:#2a5470}[data-theme=light] .company-footer .brand>.icon{color:#91e8df}@media(max-width:1150px){.atlas-grid{grid-template-columns:repeat(3,minmax(0,1fr))}header>nav{gap:12px}.nav{font-size:12px}.header-actions{gap:9px}.footer-main{gap:25px}}@media(max-width:900px){header{height:auto;min-height:90px;flex-wrap:wrap;padding-top:14px;padding-bottom:12px;gap:12px}header>nav{order:3;width:100%;justify-content:center;gap:25px;height:40px}.nav{font-size:12px;height:40px}.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-care{grid-column:1/-1;display:none}}@media(max-width:760px){.atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.atlas-intro h2{font-size:30px}.atlas-toolbar{padding:14px;gap:12px}.atlas-toolbar>label{flex:1;min-width:140px}.atlas-toolbar .atlas-search-label{flex-basis:100%}.atlas-card-body{padding:13px}.atlas-card h3{font-size:16px}.company-footer{margin-left:-12px!important;margin-right:-12px!important;padding:0 22px!important}.footer-main{grid-template-columns:1fr 1fr;padding-top:30px;gap:28px}.footer-brand-block{grid-column:1/-1}.footer-brand-block>p{max-width:420px}.footer-bottom{display:block}.footer-bottom>div{margin-top:13px;gap:15px}.footer-care{display:none}}@media(max-width:460px){header>nav{gap:18px}.atlas-grid{grid-template-columns:1fr}.atlas-photo{aspect-ratio:16/10}.atlas-card-body{padding:18px}.atlas-toolbar>label{flex-basis:100%}}
#atlas-group{min-width:180px}#atlas-status{min-width:145px}@media(max-width:760px){#atlas-group,#atlas-status{min-width:0}}
[data-theme=light] .company-footer .quiet{background:#174b68;color:#e7ffff;border-color:#4b778f}
/* Compact discovery cards; full explanations live in the species profile. */
.map-inspector .animal-card .animal-body{padding:13px}.map-inspector .animal-card h3{font-size:17px;line-height:1.4;margin:0 0 5px}.map-inspector .animal-card .scientific{font-size:11px;margin:0 0 7px}.map-inspector .animal-card .evidence-badge{display:block;background:none;border:0;padding:0;margin:6px 0 0;font-size:10px;color:var(--muted)}.map-inspector .animal-card .seen-toggle{min-height:34px;padding:7px 10px;font-size:11px;margin-bottom:11px}.map-inspector .animal-card .photo-credit{font-size:9px!important;margin:9px 0 0;padding-top:8px}.map-inspector .no-photo-card .animal-photo{aspect-ratio:auto;height:70px;display:flex;align-items:center;justify-content:center;background:var(--bg)}.map-inspector .no-photo-card .missing-reference{min-height:0;flex-direction:row;gap:8px;height:70px;background:none}.map-inspector .no-photo-card .missing-reference>.icon{width:24px;height:24px}.map-inspector .no-photo-card .missing-reference small{font-size:10px}.map-inspector .no-photo-card .photo-open-hint{display:none}.map-inspector .photo-open-hint{font-size:10px;padding:5px 8px}.map-inspector .wildlife-grid{gap:12px}
.map-inspector .no-photo-card .animal-photo:after{display:none}
