/* Shared discovery surfaces, calendar, video and city conversations. */
#header nav{gap:clamp(18px,2.5vw,36px)}
.brand:hover .logo-mark{transform:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#header .brand:hover .logo-mark{animation:logo-hover-spin 6s linear infinite}}
.hero-index.v-sequence{padding-top:0}
.discovery-section,.home-social{max-width:1640px;margin:auto;padding:clamp(25px,3vw,48px) var(--pad)}
.discovery-head,.world-foot,.calendar-heading,.agenda-label,.room-row,.feed-views{display:flex;align-items:center}
.discovery-head{justify-content:space-between;margin-bottom:20px}
.discovery-head .eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted);margin:0 0 8px}
.discovery-head h2,.home-social .section-head h2{font-size:clamp(28px,3vw,46px);line-height:1.05;font-weight:500;letter-spacing:-.055em}
.discovery-spread{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.7fr);gap:20px;align-items:stretch}
.discovery-card,.world-card,.city-side{min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--bg);padding:20px}
.discovery-card .minor-heading>span,.world-card p,.world-foot,.city-side p{font-size:12px;color:var(--muted)}
.calendar-heading{justify-content:space-between;margin:18px 0 10px}
.calendar-heading>button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font:20px/1 system-ui}
.calendar-heading>button:hover,.cal-day:hover{background:var(--soft)}
.month-picker{position:relative;display:grid;place-items:center;min-height:36px;cursor:pointer}
.month-picker strong{font-size:14px;font-weight:550;letter-spacing:-.02em}
.month-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.month-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.month-picker:focus-within{outline:2px solid var(--ink)}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:2px;align-items:center}
.calendar-days>span{padding:5px 0;font-size:10px;color:var(--muted)}
.cal-day{position:relative;justify-self:center;width:100%;max-width:40px;height:32px;border-radius:4px;font-size:12px;font-variant-numeric:tabular-nums}
.cal-day.has-events{font-weight:650}
.cal-day.has-events::after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:currentColor}
.cal-day[aria-current=date]{outline:1px solid var(--line);outline-offset:-1px}
.cal-day[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.cal-agenda{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;max-height:195px;overflow:auto;scrollbar-width:thin}
.agenda-label{justify-content:space-between;font-size:10px;margin-bottom:7px}.agenda-label span,.cal-agenda p{color:var(--muted)}.cal-agenda p{font-size:12px;margin:8px 0}
.agenda-event{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.agenda-event strong,.agenda-event small{display:block;font-size:12px}.agenda-event small{font-size:10px;color:var(--muted);margin-top:3px;text-transform:none;letter-spacing:0}.agenda-event .icon{width:13px;flex:none}.agenda-event:hover strong{text-decoration:underline}
.world-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.world-card .minor-heading,.world-foot{padding:18px 22px}.world-card h2{font-size:clamp(18px,2vw,30px);letter-spacing:-.045em}.world-card p{margin:6px 0 0}.world-card .mini-map{min-height:220px;height:auto;flex:1;border-block:1px solid var(--line)}
.leaflet-container{background:#ecece9}
.leaflet-geography-pane>svg{max-width:none!important;max-height:none!important}
.dark .leaflet-geography-pane path{fill:#343434;stroke:#626262}
.dark .map-popup-list button,.dark .map-popup-list small{color:var(--ink);border-color:var(--line)}
.leaflet-control-attribution svg{filter:grayscale(1)}.world-foot{justify-content:space-between;gap:16px}.world-foot button,.city-side button,.people-browser button{color:var(--ink)}.city-side p{line-height:1.5;margin:12px 0 18px}
.feed-tabs{justify-content:space-between;gap:12px}.feed-views{gap:22px}.audience-select select{background:var(--bg);color:var(--ink);font:inherit;font-size:11px;border:1px solid var(--line);border-radius:20px;padding:7px 8px;max-width:125px}.feed-video,#post-preview video{display:block;width:100%;max-height:65vh;object-fit:contain;background:#141414}.video-hint{display:block;margin-top:7px;color:var(--muted);font-weight:400;font-size:10px;text-transform:none;letter-spacing:0}.composer-bottom{flex-wrap:wrap;gap:12px}
.map-date-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.map-date-controls .filter-label:first-child{grid-column:1/-1}.map-reset{margin-top:10px;font-size:11px}.map-filters .filter-label input,.map-filters .filter-label select{min-width:0;width:100%;margin:0}.map-filters .search-box{width:100%;min-width:0}.map-layout .map-sidebar{min-width:0}.map-sidebar .map-filters{position:static}
.room-row{padding:13px 0;border-top:1px solid var(--line);gap:13px}.room-row[hidden]{display:none}.room-symbol{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.room-row strong,.room-row small{display:block}.room-row strong{font-size:14px}.room-row small{color:var(--muted);margin-top:3px;font-size:10px;text-transform:none;letter-spacing:0}.room-row .btn{margin-left:auto;padding:6px 16px;min-height:34px}.room-search{margin:17px 0;width:100%;max-width:none}.city-rooms{max-height:50vh;overflow:auto}.chat-city-link{padding:12px 20px;border-bottom:1px solid var(--line)}
#venue-picker{width:100%;height:210px;border:1px solid var(--line);border-radius:3px;isolation:isolate}#event-form .field small{font-size:11px;text-transform:none;letter-spacing:normal;color:var(--muted);font-weight:400}#event-form .form-grid{margin-top:20px}#event-form .field{min-width:0}
.pin-cluster{border-radius:50%;min-width:32px;height:32px;padding:0 5px;background:#161616;color:white;border:2px solid #fafafa;box-shadow:0 0 0 1px #444;display:grid;place-items:center;font-size:11px;font-weight:600}.map-popup-list{max-height:160px;overflow:auto}.map-popup-list button{display:block;width:100%;text-align:left;padding:8px 0;border-top:1px solid #ddd;font-size:12px;color:#111}.map-popup-list small{display:block;color:#555;text-transform:none;font-size:10px;letter-spacing:0}
@media(max-width:900px){.discovery-spread{grid-template-columns:minmax(235px,.9fr) minmax(0,1.25fr)}.world-foot{flex-wrap:wrap}.social-right:has(.discovery-card){display:grid;gap:16px}.social-right .discovery-card{width:100%}}
@media(max-width:650px){.discovery-spread{grid-template-columns:minmax(0,1fr);gap:14px}.discovery-section,.home-social{padding:24px var(--pad)}.world-card .mini-map{min-height:195px}.discovery-card,.city-side{padding:16px}.world-card .minor-heading,.world-foot{padding:15px}.discovery-head{margin-bottom:14px}.app-page-head{flex-wrap:wrap}.people-toolbar{flex-wrap:wrap}.app-page-head .actions{gap:8px;flex-wrap:wrap}.social-right:has(.discovery-card){display:grid!important;grid-template-columns:1fr}.people-tabs{max-width:100%;gap:8px}.people-tabs button{font-size:11px}.map-heading .actions{flex-wrap:wrap}.map-heading .btn{padding:8px 10px;font-size:11px}.composer-audience{display:none}.map-sidebar{max-height:none}.map-layout .map-note{font-size:10px}.room-row .btn{min-height:40px}.calendar-days .cal-day{height:38px}.feed-views button,.audience-select{min-height:40px}.audience-select{display:grid;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* City finder and home-city picker */
.city-finder-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.city-finder-actions .btn{flex:1 1 160px;gap:10px;min-height:42px;padding:10px 16px;font-size:12px}.city-finder-actions .btn svg{width:15px;height:15px}
.city-results{height:min(50vh,440px);max-height:none;overscroll-behavior:contain}.city-search:focus-within{border-bottom-color:var(--ink)}.city-search input:focus,.city-search input:focus-visible{outline:none;box-shadow:none}.city-group{display:block;margin:16px 0 6px;color:var(--muted);font-size:10px}
.city-choice{display:flex;align-items:center;width:100%;padding:12px 8px;background:none;border:0;border-top:1px solid var(--line);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .12s ease}.city-choice:hover,.city-choice:focus-visible{background:var(--panel)}.city-choice:focus-visible{outline:1px solid var(--ink);outline-offset:-1px}
.city-choice-text{min-width:0}.city-choice-text strong,.city-choice-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-choice[aria-current] .room-symbol{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.city-current{margin-left:auto;padding-left:10px;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.city-empty{padding:16px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.home-city-tools{grid-column:1/-1;margin-top:-6px}.home-city-tools .text-link{width:auto;gap:8px;font-size:12px}.home-city-tools .text-link svg{width:14px;height:14px}.panel .home-city-tools{margin:2px 0 16px}.field select:disabled{opacity:.55;cursor:not-allowed}
/* Arrows stay typographic on phones: never swap to colour emoji. */
html{font-variant-emoji:text}
/* Search this area */
.map-area-btn{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:500;min-height:40px;padding:9px 18px;gap:10px;font-size:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 22px rgba(0,0,0,.14)}.map-area-btn[hidden]{display:none}.map-area-btn svg{width:15px;height:15px}.map-area-btn:hover{background:var(--ink);color:var(--bg)}
.map-area{display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:end;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0 2px}.map-area[hidden]{display:none}.map-area strong{display:block;font-size:15px;margin-top:6px}.map-area small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.map-area .text-link{grid-column:1/-1;justify-self:start;font-size:12px}
.map-sidebar .map-area{padding:16px 22px;margin:0;border-top:0;background:var(--panel)}.map-area small{text-transform:none;letter-spacing:0}
@media(max-width:900px){.map-sidebar .map-area{padding:14px 20px}}
/* Compact map credit: a small © tab that opens on hover, focus or tap. */
.leaflet-control-attribution.nk-credit{position:relative;max-width:22px;height:22px;overflow:hidden;white-space:nowrap;padding:0 6px!important;line-height:22px;font-size:10px;color:transparent!important;background:color-mix(in srgb,var(--bg) 88%,transparent)!important;border:1px solid var(--line);cursor:pointer;transition:max-width .2s ease}
.leaflet-control-attribution.nk-credit:before{content:'©';position:absolute;left:0;top:0;width:20px;text-align:center;color:var(--muted)}
.leaflet-control-attribution.nk-credit :is(a,span){color:transparent!important}
.leaflet-control-attribution.nk-credit:is(:hover,:focus-visible,.open){max-width:420px;color:var(--muted)!important;padding-left:22px!important}
.leaflet-control-attribution.nk-credit:is(:hover,:focus-visible,.open) :is(a,span){color:var(--muted)!important}
/* Post and story audience */
.social-composer .composer-audience{display:grid!important;margin-left:auto}
.story-audience{margin:14px 0 4px}.story-audience .composer-audience{display:inline-flex;gap:8px;color:var(--muted);font-size:12px}
html[data-mode=accent] .mode-option[aria-pressed=true] :is(span,strong){color:var(--accent-ink)}
/* Audio sets in the feed */
.feed-audio{display:flex;align-items:center;gap:14px;margin:12px 20px 14px;padding:14px;border:1px solid var(--line);background:var(--panel)}.feed-audio>div{flex:1;min-width:0}.feed-audio strong{display:block;font-size:13px;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-audio audio{width:100%;height:36px;display:block}
.feed-audio-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent-edge,var(--ink))}.feed-audio-icon svg{width:18px;height:18px}
.feed-audio.draft{margin:12px 0 0}.feed-audio.draft strong{margin-bottom:2px}.feed-audio.draft small{color:var(--muted);font-size:11px}
