.marble-map{margin:0 0 24px;border:1px solid var(--line,#d8cbb5);border-radius:20px;overflow:hidden;background:var(--panel,#fffdf8);color:var(--ink,#32291e)}.map-heading{padding:20px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px}.map-heading h2{font-size:clamp(1.5rem,3vw,2rem);margin:2px 0 6px}.map-heading p{margin:0;font-size:1rem;line-height:1.5}.map-eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#715e40);font-weight:700}.map-heading-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.map-canvas{position:relative;aspect-ratio:2;isolation:isolate;background-color:#e7f0ed;background-image:linear-gradient(#416e6810 1px,transparent 1px),linear-gradient(90deg,#416e6810 1px,transparent 1px);background-size:8.333% 16.666%;overflow:hidden}.map-canvas>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.map-ocean{position:absolute;left:43%;top:49%;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#376b65;pointer-events:none}.map-pin{position:absolute;transform:translate(-50%,-88%);width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:start center;z-index:2}.map-pin:before{content:'';position:absolute;top:20px;width:3px;height:18px;background:#624725;box-shadow:2px 1px 2px #432a2266;transform:rotate(-8deg)}.map-pin:after{content:'';position:absolute;top:37px;left:18px;width:14px;height:5px;border-radius:50%;background:#432a2233;transform:rotate(-18deg)}.map-pin span{position:relative;width:24px;height:24px;border:2px solid #fff7e8;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800;color:#fff;background:radial-gradient(circle at 32% 25%,#b8eee3 0,#32968a 24%,#155b59 57%,#0b3f3f 80%);box-shadow:0 2px 5px #193d4b66}.map-pin[data-own=true] span{background:radial-gradient(circle at 30% 25%,#fff6bd,#c18a29 36%,#724717 80%)}.map-pin:hover,.map-pin:focus-visible{z-index:4;filter:brightness(1.2)}.map-pin:focus-visible{outline:2px solid #175b56;outline-offset:2px;border-radius:10px}.map-summary{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line,#d8cbb5);font-size:.875rem}.map-summary p{margin:0;line-height:1.5}.map-subtle{font-size:.875rem;line-height:1.5;color:var(--muted,#715e40)}.map-footer{padding:0 24px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.map-footer small{font-size:.75rem;margin-left:auto}.map-status{padding:0 24px;margin:0;line-height:1.5}.map-status:not(:empty){padding-top:12px;padding-bottom:12px}.map-selection{padding:16px 24px;border-top:1px solid var(--line,#d8cbb5);max-height:310px;overflow:auto}.map-selection:empty{display:none}.map-person{display:flex;align-items:start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#d8cbb5)}.map-person:last-child{border:0}.map-person>span{font-size:1.3rem;color:#2b776e}.map-person>div{flex:1;min-width:0}.map-person p{margin:4px 0;overflow-wrap:anywhere;line-height:1.5}.map-person strong{font-size:1rem}.map-person small{font-size:.8rem}.map-person button{margin:6px 5px 0 0}.map-badge{display:inline-block;margin-left:6px;font-size:.75rem;color:var(--muted,#715e40)}.map-dialog{width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:22px;background:var(--panel,#fffdf8);color:var(--ink,#32291e);border:1px solid var(--line,#d8cbb5);border-radius:18px}.map-dialog::backdrop{background:#15262299}.map-dialog h2{margin:0 0 8px}.map-dialog form{display:grid;gap:14px}.map-dialog label{display:grid;gap:6px;font-size:.875rem;font-weight:600}.map-dialog input:not([type=checkbox]),.map-dialog select,.map-dialog textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--line,#c5b794);border-radius:8px;padding:10px;font:inherit;background:var(--panel,#fffdf8);color:inherit}.map-dialog textarea{resize:vertical;min-height:70px}.map-dialog .map-check{display:flex;align-items:start;font-weight:400;line-height:1.5}.map-check input{width:20px;height:20px;flex:none;margin-top:3px}.map-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-actions{display:flex;gap:8px;flex-wrap:wrap}.map-pick-area{margin:12px 0}.map-pick-area .map-canvas{cursor:crosshair;border:2px solid #9d8659;border-radius:8px;touch-action:pan-y}.map-pick-area .map-canvas:focus-visible{outline:3px solid #28766d;outline-offset:3px}.map-lookup-results label{display:flex;padding:10px;border:1px solid var(--line,#d8cbb5);border-radius:8px;gap:8px;margin:6px 0}.map-lookup-results input[type=radio]{width:20px;min-height:20px;flex:none}.map-preview-notice{padding:9px 24px;background:#fff2c9;color:#644312;font-size:.875rem;line-height:1.5}.map-conversation{max-width:760px;margin:0 auto 30px}.map-conversation:empty{display:none}.map-conversation>h2{font-size:1.1rem;margin:0 0 12px}.map-conversation .club-label{display:none}.map-conversation .club-post{margin-bottom:0}.map-no-pins{position:absolute;bottom:14px;left:14px;margin:0;padding:8px 12px;background:#fffdf8e8;border-radius:8px;font-size:.875rem;color:#3c4d45;max-width:80%}.map-dialog [role=status]{margin:0;font-size:.875rem;line-height:1.5}.map-manual-note{margin:6px 0;font-size:.875rem;line-height:1.5}
[data-appearance=dark] .marble-map,[data-appearance=dark] .map-dialog{background:#222927;color:#efe9db;border-color:#536052}[data-appearance=dark] .map-dialog input:not([type=checkbox]),[data-appearance=dark] .map-dialog select,[data-appearance=dark] .map-dialog textarea{background:#17211f;color:#f5f0e5;border-color:#697568}[data-appearance=dark] .map-canvas{background-color:#203a39;background-image:linear-gradient(#ccd9d810 1px,transparent 1px),linear-gradient(90deg,#ccd9d810 1px,transparent 1px)}[data-appearance=dark] .map-ocean{color:#9eb7ad}[data-appearance=dark] .map-subtle,[data-appearance=dark] .map-eyebrow,[data-appearance=dark] .map-badge{color:#d5c7ab}[data-appearance=dark] .map-preview-notice{background:#463d23;color:#f9e8a9}
@media(min-width:1100px){.marble-map .map-canvas{max-height:420px;aspect-ratio:auto}.map-canvas>img{object-fit:fill}}@media(max-width:600px){.map-heading{padding:16px;align-items:start;flex-direction:column;gap:12px}.map-heading-actions{width:100%}.map-heading-actions .primary{flex:1}.map-summary,.map-selection{padding:12px 16px}.map-footer{padding:0 16px 14px}.map-footer small{margin-left:0}.map-ocean{display:none}.map-fields{grid-template-columns:1fr}.map-dialog{padding:16px}.map-preview-notice{padding:9px 16px}.map-dialog .map-canvas{min-height:155px;aspect-ratio:2}.map-pin span{width:21px;height:21px}.map-no-pins{font-size:.75rem;bottom:8px;left:8px;padding:5px 8px}.map-conversation{margin-bottom:20px}}

.marble-map .club-button{font-size:.875rem}.map-canvas{min-height:0}.marble-map>.map-canvas{height:clamp(155px,38vw,420px);aspect-ratio:auto}.map-pick-area .map-canvas{aspect-ratio:2}

.map-dialog{box-sizing:border-box}.map-dialog form,.map-dialog label,.map-fields>*{min-width:0}.map-dialog input:not([type=checkbox]),.map-dialog select,.map-dialog textarea{font-size:1rem}.map-dialog .map-canvas{min-height:0;width:100%}.map-canvas{overflow:visible}@media(max-width:600px){.map-pin{transform:translate(-50%,-67%)}.map-pin span{width:18px;height:18px;font-size:.7rem}.map-pin:before{top:15px;height:12px}.map-pin:after{top:27px;left:18px;width:10px;height:4px}}

.map-member-avatar{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;box-sizing:border-box;overflow:hidden;border-radius:50%;border:2px solid var(--line,#c6b88f);background:var(--panel,#fffdf8);color:var(--ink,#32291e);text-decoration:none;font-size:24px}.map-member-avatar img{width:100%;height:100%;object-fit:cover}.map-member-avatar:focus-visible{outline:3px solid var(--club-gold,#b98a43);outline-offset:3px}.map-person>.map-member-avatar{flex:0 0 56px}

/* Local atlas: readable labels keep their size as the geography zooms. */
.map-atlas-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 24px 14px}.map-atlas-tools label{display:flex;gap:8px;align-items:center;font-size:14px}.map-atlas-tools select{min-height:40px;max-width:200px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:14px var(--sans)}.map-atlas-zoom{display:flex;align-items:center;gap:4px}.map-atlas-zoom button{min-width:40px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:600 20px var(--sans);cursor:pointer}.map-atlas-zoom button:disabled{opacity:.4;cursor:default}.map-atlas-zoom output{min-width:32px;text-align:center;font:600 13px var(--sans)}.map-atlas-zoom .map-atlas-reset{font-size:13px;padding:8px 12px}.map-atlas-hint{font-size:12px;color:var(--muted);margin-left:auto}.map-atlas-viewport{position:relative;width:100%;overflow:auto;overscroll-behavior:contain;background:#d4e6e7;scrollbar-color:#7a9c95 #d4e6e7;scrollbar-width:thin}.map-atlas-viewport[data-zoom="1"]{overflow:hidden}.map-atlas-viewport:not([data-zoom="1"]){cursor:grab}.map-atlas-viewport:not([data-zoom="1"]):active{cursor:grabbing}.map-atlas-viewport:focus-visible{outline:3px solid var(--club-gold);outline-offset:-3px}.map-atlas-viewport .map-canvas{max-height:none;aspect-ratio:auto;overflow:hidden;background:#d4e6e7}.map-atlas-viewport .map-ocean{display:none}.map-atlas-labels{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.map-geo-label{position:absolute;white-space:nowrap;font-family:Arial,sans-serif;font-weight:600;line-height:18px;color:#314440;text-shadow:0 1px 3px #f8f3dc,0 -1px 3px #f8f3dc,1px 0 3px #f8f3dc,-1px 0 3px #f8f3dc}.map-geo-label.ocean{color:#416e7a;font-weight:400;font-style:italic;letter-spacing:.04em;text-shadow:0 0 3px #e4f1f2}.map-geo-label.city{font-weight:400;color:#3f4e48}.map-atlas-tools button:focus-visible,.map-atlas-tools select:focus-visible{outline:3px solid var(--club-gold);outline-offset:2px}.map-atlas-viewport .map-pin{z-index:3}.map-atlas-viewport .map-no-pins{z-index:4}
@media(max-width:600px){.map-atlas-tools{padding:2px 16px 12px;gap:8px}.map-atlas-tools label{flex:1;font-size:13px}.map-atlas-tools select{min-width:0;max-width:190px}.map-atlas-hint{margin-left:0;width:100%;font-size:12px}.map-atlas-zoom button{min-width:38px;min-height:40px}.map-atlas-zoom output{min-width:25px}.map-atlas-tools .map-atlas-reset{padding:7px 9px}.map-atlas-viewport .map-pin{transform:translate(-50%,-67%)}}

.map-member-avatar,.map-person>.map-member-avatar{width:67px;height:67px;flex-basis:67px}

/* Clear controls and touch gestures for every visitor, before adding a pin. */
.map-atlas-viewport{touch-action:none;user-select:none;scrollbar-gutter:stable;scroll-margin-top:90px}
.map-atlas-zoom button{min-height:44px;min-width:44px;font-size:19px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 10px;border-color:color-mix(in srgb,var(--ink) 35%,var(--line))}
.map-atlas-zoom button span{font-size:13px;font-weight:600}.map-atlas-hint{flex-basis:100%;margin:0;line-height:1.5;font-size:13px}.map-atlas-tools select{min-height:44px}
.map-atlas-tools select option{background:var(--paper);color:var(--ink)}
.map-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;position:sticky;top:-22px;background:var(--panel);z-index:5;padding:8px 0}
.map-dialog-heading h2{margin:0;line-height:1.2}.map-dialog-close{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);font:600 13px var(--sans);cursor:pointer}.map-dialog-close span:first-child{font-size:24px;line-height:1}.map-dialog-close:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:600px){.map-atlas-tools label{flex-basis:100%}.map-atlas-zoom{justify-content:space-between;width:100%}.map-atlas-zoom button{min-height:44px}.map-dialog-heading{top:-16px;gap:8px}.map-dialog-heading h2{font-size:1.4rem}}

/* One map, with a compact editor beside it. */
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr);scroll-margin-top:110px;align-items:start}
.map-workspace.is-editing{grid-template-columns:minmax(0,1fr) 278px;gap:0}
.map-workspace-map{min-width:0}.map-inline-editor[hidden]{display:none!important}
.map-inline-editor{min-width:0;padding:0 18px 18px;border-left:1px solid var(--line);background:var(--panel);color:var(--ink)}
.map-inline-editor form{display:grid;gap:12px;margin:0}.map-inline-editor .map-dialog-heading{position:static;gap:6px;padding:4px 0 0;align-items:center;background:transparent}
.map-inline-editor h3{font-size:1.1rem;line-height:1.3;margin:0}.map-inline-editor .map-dialog-close{padding:4px 8px;min-height:40px;font-size:12px}
.map-inline-editor label{display:grid;gap:5px;font-size:14px;font-weight:600;line-height:1.5;min-width:0}
.map-inline-editor input:not([type=checkbox]):not([type=radio]),.map-inline-editor select,.map-inline-editor textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--paper);color:var(--ink);font:16px/1.4 var(--sans,Arial,sans-serif)}
.map-inline-editor select option{background:#f6f1e5;color:#273c37}.map-inline-editor textarea{resize:vertical}
.map-editor-help{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}
.map-marker-colors{padding:0;margin:0;border:0;min-width:0}.map-marker-colors legend{font:600 14px/1.4 var(--sans);padding:0;margin:0 0 6px}
.map-marker-colors>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.map-color-swatch{display:grid;justify-items:center;gap:3px;min-height:52px;padding:6px 2px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;cursor:pointer;font:12px/1.2 var(--sans)}
.map-color-swatch[aria-pressed=true]{border:2px solid var(--accent,#376e66);padding:5px 1px;background:color-mix(in srgb,var(--accent) 12%,var(--paper));box-shadow:0 0 0 1px var(--accent)}
[data-pin-color=teal]{--pin-light:#d0fff0;--pin-mid:#4aa69b;--pin-dark:#18554f}
[data-pin-color=blue]{--pin-light:#e1f2ff;--pin-mid:#498cdb;--pin-dark:#163e82}
[data-pin-color=purple]{--pin-light:#f2e0ff;--pin-mid:#a479cb;--pin-dark:#513176}
[data-pin-color=pink]{--pin-light:#ffe0f3;--pin-mid:#df82b1;--pin-dark:#953f6d}
[data-pin-color=red]{--pin-light:#ffe3cf;--pin-mid:#d46254;--pin-dark:#832d24}
[data-pin-color=orange]{--pin-light:#fff0d2;--pin-mid:#e69243;--pin-dark:#a44b19}
[data-pin-color=gold]{--pin-light:#fff7c7;--pin-mid:#b78842;--pin-dark:#5e4021}
[data-pin-color=green]{--pin-light:#eaffce;--pin-mid:#81b15c;--pin-dark:#386239}
.map-color-swatch>span:first-child,.map-pin[data-pin-color] span,.map-detail-pin[data-pin-color] span{background:radial-gradient(circle at 30% 22%,var(--pin-light),var(--pin-mid) 30%,var(--pin-dark) 80%)}
.map-color-swatch>span:first-child{width:23px;height:23px;border-radius:50%;border:1px solid #fff4da;box-shadow:0 1px 3px #273c3755}
.map-inline-editor .map-check{display:flex;gap:8px;align-items:start;font-weight:400;font-size:13px}.map-inline-editor .map-check input{width:20px;height:20px;flex:none;margin:2px 0 0}
.map-inline-editor .map-editor-extra{border-top:1px solid var(--line);padding:4px 0 0;margin:0;min-width:0}.map-editor-extra summary{cursor:pointer;font:600 14px/1.5 var(--sans);padding:8px 0;min-height:38px;box-sizing:border-box}.map-editor-extra label+label{margin-top:10px}
.map-postal-row{display:flex;gap:5px}.map-postal-row input{flex:1}.map-postal-row button{flex:none}.map-editor-extra .map-subtle{font-size:12px;margin:8px 0 0}
.map-inline-editor [role=status]{font-size:13px;line-height:1.5;margin:0}.map-inline-editor [role=status]:empty{display:none}
.map-inline-editor .map-pick-status{color:var(--accent);font-weight:600}.map-inline-editor .map-actions{gap:7px}.map-inline-editor .map-actions .primary{flex:1}.map-inline-editor .map-remove-pin{width:100%;background:transparent}
.map-inline-editor button:focus-visible,.map-inline-editor input:focus-visible,.map-inline-editor select:focus-visible,.map-inline-editor summary:focus-visible{outline:3px solid var(--accent,#376e66);outline-offset:2px}
.map-inline-editor button:disabled{opacity:.55;cursor:wait}.map-selected-pin span{outline:3px solid var(--accent,#376e66);outline-offset:3px}.map-fallback-selected{position:absolute;inset:0;pointer-events:none;z-index:8}.map-fallback-selected button{pointer-events:auto}
.club-hero--invitation [data-lounge-join][hidden]{display:none!important}
@media(max-width:800px){.map-workspace.is-editing{grid-template-columns:minmax(0,1fr)}.map-inline-editor{border-left:0;border-top:1px solid var(--line);padding:14px 16px 18px}.map-inline-editor .map-marker-colors>div{grid-template-columns:repeat(8,minmax(0,1fr))}.map-inline-editor form{gap:10px}.map-workspace{scroll-margin-top:90px}}
@media(max-width:480px){.map-inline-editor .map-marker-colors>div{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* A compact toolbar above one persistent map; the collector directory is on demand. */
.map-explorer-bar{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.map-summary{align-items:center}.map-summary p{margin:8px 0}.map-detail-status:empty{display:none}.map-detail-viewport{background:#d4dfdb}.map-detailed[data-map-palette="antique"] .map-detail-viewport{background:#d4d4c3}
.map-country-label{display:block;transform:translate(-50%,-50%);white-space:nowrap;color:#3d4037;text-shadow:0 1px 2px #f9f4de;font:600 11px var(--sans);pointer-events:none}.map-local-label{border:0;background:none;pointer-events:none!important}
.map-collectors-dialog{width:min(620px,calc(100vw - 28px));max-height:80dvh;padding:22px;box-sizing:border-box}.map-collectors-dialog .map-selection:empty{display:none}.map-collectors-dialog .map-person{padding:16px 0;border-bottom:1px solid var(--line)}
