/* Shared catalog, authenticated profiles and reviews. */
@media(max-width:760px){header nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:62px;gap:0;justify-content:space-around;background:#faf9f5f5;border-top:1px solid #dce3d7;z-index:4;backdrop-filter:blur(10px)}header nav button{flex:1;font-size:11px;padding:0 5px}main{padding-bottom:65px}}
.photo-open{width:100%;height:100%;display:block;padding:0;text-align:inherit}.photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:radial-gradient(ellipse at 40% 40%,#d7e9d5,#edf2e9);color:#91ab92}.photo-placeholder>span{font-size:39px;transform:rotate(-20deg)}.photo-placeholder small{font-size:10px;letter-spacing:1px}.quiet{font-size:11px;color:#7f9081;line-height:1.7}.card-foot button{font-size:10px;color:var(--green);padding:0}.filter-panel{flex-wrap:wrap;align-items:flex-end;background:#f0f2e9;border-radius:9px;padding:20px;margin-top:-15px;margin-bottom:25px;gap:18px 24px}.filter-panel label{flex:1 0 120px;font-size:11px}.filter-panel select{font-size:12px;width:100%;margin-top:6px;border-bottom:1px solid #d4decf}.filter-panel>span{flex-basis:100%;font-size:10px;margin:0}.features{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:25px 0}.feature{border-bottom:1px solid var(--line);padding:13px 0}.feature dt{font-size:10px;color:#85927e;margin-bottom:5px}.feature dd{margin:0;font-size:12px;font-weight:600;line-height:1.7}.sources{border:1px solid var(--line);padding:13px;border-radius:8px;margin-bottom:24px;font-size:11px}.sources summary{cursor:pointer}.sources a{display:block;color:var(--green);font-size:11px;text-decoration:underline;margin:9px 0}.detail-actions{display:flex;align-items:center;gap:25px;margin:24px 0}.detail-actions .primary{margin:0}.review-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.owner-badge{font-size:9px;background:#e8f0e3;padding:3px 6px;border-radius:4px}.review .animal-chips{margin:12px 0 8px}.review .animal-chip{font-size:10px}.review-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.review-photos a{width:calc(33.33% - 6px)}.review-photos img{width:100%;height:120px;object-fit:cover;border-radius:7px}.animal-picker{border:1px solid var(--line);padding:15px;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.animal-picker legend{font-size:12px;padding:0 7px}.animal-picker label{display:flex;align-items:center;gap:9px;font-size:12px;cursor:pointer}.animal-picker input,.checkbox-label input{width:16px;height:16px;accent-color:var(--green);padding:0}.form-row small{display:block;font-size:10px;color:#89957f;line-height:1.7;margin-top:6px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:11px}.delete-button{display:block;color:#a45b4a;font-size:11px;padding:15px 0;margin-top:10px}.primary:disabled{opacity:.6;cursor:wait}.sign-out{display:block;text-decoration:underline;font-size:12px;color:#8b7564;margin-top:25px}.journal-species{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.journal-species-item{padding:12px;border:1px solid var(--line);border-radius:8px;opacity:.5;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.journal-species-item.seen{opacity:1;background:#e8f0e2}.journal-species-item div{width:44px;height:35px}.journal-species-item svg{width:100%;height:100%;color:#6e9384}.journal-species-item strong{font-size:11px}.journal-species-item>span{font-size:10px;flex-basis:100%;padding-left:56px}.card-title{min-height:34px;line-height:1.5}.cards.list .photo-open{height:100%}.map-bottom small{max-width:50%;text-align:right}.results-panel{min-width:0}
@media(max-width:760px){.features{grid-template-columns:1fr 1fr;gap:0 15px}.feature dd{font-size:11px}.detail-actions{gap:14px;flex-wrap:wrap}.detail-actions .primary{font-size:11px}.review-photos img{height:85px}.animal-picker{grid-template-columns:1fr;gap:12px}.journal-species{grid-template-columns:1fr}.journal-species-item{flex-wrap:nowrap}.journal-species-item>span{flex-basis:auto;padding:0;margin-left:auto}.modal-content h2{overflow-wrap:anywhere}.filter-panel label{flex-basis:115px}.quiet{font-size:10px}.card-title{font-size:12px}.card-place{line-height:1.6}.map-bottom small{font-size:8px}}
.feature-note{display:block;font-size:12px;line-height:1.55;font-weight:400;color:#52665c;margin-top:7px}.feature-note a{color:#28674c;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.feature-note span{display:block;color:#728075;font-size:11px;margin-top:3px}.catalog-audit{background:#edf3ec;border-radius:12px;padding:12px 16px;margin:18px 0;color:#506457;font-size:13px;line-height:1.6}.catalog-audit p{margin:0}.catalog-audit summary{cursor:pointer;margin-top:6px;text-decoration:underline;text-underline-offset:3px}.catalog-audit ul{padding-left:18px;margin:8px 0}.catalog-audit li+li{margin-top:7px}
.accommodation-types{margin:0;padding-left:18px;font-size:13px;line-height:1.6;font-weight:400}.accommodation-types li+li{margin-top:4px}.catalog-audit+.catalog-audit{margin-top:-10px}
.more-categories{font-size:13px;margin-top:8px;font-weight:400}.more-categories summary{cursor:pointer;color:#28674c;text-decoration:underline;text-underline-offset:3px;margin-bottom:6px}
[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b1843f;outline-offset:4px}html{scroll-padding-top:18px}.active-animal{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 15px;background:#e7eee4;border-radius:8px;font-size:13px}.active-animal button{padding:8px;text-decoration:underline}.map-pages{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:8px 22px;font-size:12px}.map-pages button{border:1px solid #a9c6b5;border-radius:6px;width:36px;height:32px;background:#ffffff99}.map-pages button:disabled{opacity:.35;cursor:default}.animals-invite{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:24px 28px;margin:28px 0;border:1px solid #d6e0d2;border-radius:12px;background:#eaf0e4;text-align:left}.animals-invite span{font-size:13px;color:#617564}.animals-invite strong{font-family:var(--serif);font-size:20px;font-weight:400}.wildlife-page{padding:38px 0}.wildlife-intro{max-width:690px;color:#546b5b;font-size:16px}.wildlife-page>.quiet{max-width:730px;font-size:12px}.wildlife-controls{display:flex;align-items:flex-end;gap:20px;margin:30px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.wildlife-controls label{font-size:12px;flex:1}.wildlife-controls input,.wildlife-controls select{display:block;width:100%;font-size:14px;border-bottom:1px solid #d6ded0;padding:11px 0}.wildlife-controls>span{font-size:12px;color:#657b6b;padding-bottom:12px}.wildlife-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.wildlife-card{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.wildlife-card>img{width:100%;aspect-ratio:1;object-fit:cover;background:#edf4ee}.wildlife-card>div{padding:18px;display:flex;flex-direction:column;flex:1}.wildlife-card h3{font-family:var(--serif);font-size:20px;font-weight:400;margin:10px 0}.wildlife-card i{font-size:12px;color:#617967}.wildlife-card p{font-size:13px;color:#536959}.wildlife-card a{font-size:12px;text-decoration:underline;margin-top:auto}.generated-label{font-size:10px;color:#637665}.animal-location{font-size:13px;border-top:1px solid var(--line);padding:15px 0 0;margin-top:16px;text-align:left;color:var(--green);font-weight:700}.journal-species-item img{width:100%;height:100%;object-fit:contain;border-radius:5px}.photo-credit{display:block;font-size:11px;line-height:1.6;margin:8px 0;color:#5d7567;text-decoration:underline}.animal-picker img{width:44px;height:44px;object-fit:cover;border-radius:6px}.feature dd,.sources a{overflow-wrap:anywhere}.card-title{font-size:15px}.card-place{font-size:10px}.photo-wrap{height:180px}
@media(max-width:1100px){.wildlife-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){header nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);gap:0;justify-content:space-around;background:#faf9f5f5;border-top:1px solid #dce3d7;z-index:4;backdrop-filter:blur(10px)}header nav button{flex:1;font-size:12px;padding:0 6px;height:62px}main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.wildlife-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wildlife-controls{flex-wrap:wrap}.wildlife-controls>span{flex-basis:100%;padding:0}.animals-invite{display:block}.animals-invite strong{display:block;margin-top:8px}.photo-wrap{height:155px}}
@media(max-width:480px){.wildlife-card>div{padding:13px}.wildlife-card h3{font-size:17px;line-height:1.5}.wildlife-card p{font-size:12px}.animal-location{font-size:12px}.wildlife-grid{gap:12px}.wildlife-controls label{flex-basis:100%}.features{grid-template-columns:1fr}.card-title{font-size:14px}.cards{grid-template-columns:1fr}.photo-wrap{height:220px}.card-content{padding:16px}.card-foot,.rating-row{font-size:12px}.cards.list .resort-card{grid-template-columns:100px minmax(0,1fr)}.cards.list .photo-wrap{height:100%}.animal-picker{padding:12px}.detail-tags{flex-wrap:wrap}}
.map-help,.compass,.ocean-label{pointer-events:none}.map-atoll text{font-size:20px}.map-region-control{display:flex;align-items:center;gap:12px;padding:14px 22px 0;font-size:12px;color:#416650}.map-region-control select{font-size:13px;max-width:100%;min-width:0;flex:1;background:#ffffffb0;border:1px solid #b9cec0;border-radius:6px;padding:9px}.map-pages{padding-top:12px}.map-top h2{white-space:normal}@media(max-width:760px){.map-atoll text{font-size:24px}.map-region-control{display:block;padding:12px 18px 0}.map-region-control select{display:block;width:100%;margin-top:6px;min-height:42px}.map-canvas{height:490px}.map-help{max-width:92%;white-space:normal;text-align:center}}
.feature dt{font-size:12px}.feature dd{font-size:14px}.quiet,.form-row small{font-size:12px}.rating-row{font-size:12px}@media(max-width:980px){#toast{bottom:85px}}@media(max-width:480px){.feature dd{font-size:14px}.quiet{font-size:12px}}
.map-panel{align-self:start}.card-title{overflow-wrap:anywhere}
nav a{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;position:relative;white-space:nowrap}button:disabled{cursor:wait;opacity:.6}@media(max-width:980px){header nav a{flex:1;height:62px;padding:0 6px;font-size:12px}}
.account-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.form-status{color:#9a472c;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-text{white-space:pre-wrap;overflow-wrap:anywhere}footer{flex-wrap:wrap;gap:16px}button:disabled{cursor:not-allowed;opacity:.55}
.checkbox-label input{flex:0 0 18px;width:18px;height:18px}.checkbox-label{font-size:12px;line-height:1.6;align-items:flex-start}.checkbox-label input{margin-top:2px}
