/* Brand source: nyfactexchange.com, including its original logo and #ffd700 CTA. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#fff;background:#000;color-scheme:dark;--gold:#ffd700;--ink:#000;--line:#303030;--muted:#b8c0cc;--paper:#101010;--soft:#181818}
.location-directions{margin-top:28px;border:1px solid #665700;border-radius:14px;padding:20px;background:#151309}.location-directions h3{margin:0 0 10px;font-size:21px}.location-directions p{font-size:12px!important}.directions-modes{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.location-directions small{font-size:10px;color:#b9ad7d;display:block;line-height:1.6;margin-top:10px}.itinerary-stop-list{padding:0;list-style:none;display:grid;gap:16px}.itinerary-stop{border:1px solid #444;border-radius:12px;padding:18px;background:#191919}.itinerary-stop-controls{display:flex;gap:8px;margin:12px 0}.itinerary-add-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.itinerary-add-row>.field{flex:1}.itinerary-share{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:15px 0}.itinerary-stop .field{margin-bottom:0}.private-intro input[type=checkbox]{accent-color:#ffd700}.site-nav{flex-wrap:wrap}
.location-video-feed{margin:20px 0 24px;border:1px solid #3c3520;border-radius:14px;overflow:hidden;background:#101010}.video-feed-toolbar{padding:13px 14px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #303030}.video-feed-toolbar strong{display:block;font-size:12px}.video-feed-toolbar [data-feed-position]{font-size:10px;color:#aaa;display:block;margin-top:3px}.video-feed-controls{display:flex;gap:6px}.video-feed-controls button{padding:6px;min-height:32px;width:32px;border:1px solid #514821;background:#211d0d;color:#ffd700}.video-feed-controls button:disabled{opacity:.3;cursor:default}.video-feed-scroll{height:clamp(360px,64dvh,650px);overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#796719 #161616;overflow-anchor:none;position:relative}.location-video-item{padding:15px 12px 20px;min-height:100%;scroll-snap-align:start;border-bottom:1px solid #393120}.location-video-item:last-child{border-bottom:0}.video-feed-byline{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;margin-bottom:14px}.video-feed-byline strong{font-size:12px;overflow-wrap:anywhere}.video-feed-byline .badge{font-size:9px}.location-video-feed .video-card{width:100%;margin:0 auto;max-width:100%;aspect-ratio:16/9}.location-video-feed .video-card.portrait-video{width:min(100%,245px);aspect-ratio:9/16}.location-video-feed .player-layout-toggle{font-size:10px;margin:7px 0 10px auto}.story-panel .video-feed-caption{font-size:12px;line-height:1.65;margin:0;color:#c2c2c2;white-space:pre-line;overflow-wrap:anywhere}.story-panel .video-feed-hint{padding:9px 12px;margin:0;color:#b9a964;font-size:10px;border-top:1px solid #303030}.location-video-empty{border:1px dashed #514821;padding:18px;border-radius:12px;margin:20px 0}.location-video-empty strong{font-size:13px}.location-video-empty p{font-size:12px;margin-bottom:0}
@media(max-width:740px){.video-feed-scroll{height:clamp(360px,70dvh,640px)}}
.location-voting{margin:22px 0;padding:16px 0;border-block:1px solid #303030;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.location-voting>span{font-size:11px;line-height:1.5;color:#aaa;flex:1;min-width:120px}.place-upvote{border:1px solid #665700;background:#201c0b;color:#ffd700;gap:9px;white-space:nowrap}.place-upvote:hover,.place-upvote.voted{background:#ffd700;color:#000}.vote-total{border-left:1px solid currentColor;padding-left:10px;font-variant-numeric:tabular-nums}
.video-card{aspect-ratio:16/9}.video-card.portrait-video{aspect-ratio:9/16;width:min(100%,300px);height:auto;margin-inline:auto}.video-card.portrait-video>button,.video-card.portrait-video>iframe{width:100%;height:100%;aspect-ratio:9/16}
  body{background:#000;color:#fff}
  .map-place-filters{display:flex;align-items:center;gap:9px;margin-left:auto;width:min(100%,440px);min-width:0}.map-place-filters .search{flex:1;min-width:0;max-width:310px}.map-place-filters .filter{flex:0 1 120px;min-width:0;max-width:40%}
button,.button{background:#242424;color:#fff}
button.primary,.button.primary{background:#ffd700;color:#000}
button.primary:hover,.button.primary:hover{background:#ffa500}
button.dark,.button.dark,button.active{background:#ffd700;color:#000}
button.ghost,.button.ghost{background:transparent;border-color:#444;color:#fff}
button.danger{background:#3c1715;color:#ffb6aa}
.site-header,.local-banner,.page-head,.map-toolbar,.story-panel{background:#000;color:#fff}
.site-header{min-height:100px;border-bottom:1px solid #222;padding-block:16px}
.brand{gap:15px;max-width:310px}.brand-logo{width:68px;height:68px;display:block;object-fit:contain;flex-shrink:0}
.brand strong{font-size:17px;letter-spacing:.2px;font-weight:650;line-height:1.25}.brand small{color:#b8c0cc;letter-spacing:1.4px;font-size:9px}
.site-nav button{color:#e0e0e0}.site-nav button.active{background:#ffd700;color:#000}.site-nav button.account{color:#ffd700;border-color:#685800}
.local-banner{color:#b8c0cc}.status-dot{background:#ffd700}.page-head{padding-block:26px}.page-head p{color:#b8c0cc}.page-head h1,.story-panel h2,h1,h2,h3{color:#fff}.eyebrow{color:#ffd700}.section-title{color:#d5bd65}
.story-panel{background:#090909;border-left-color:#6b5900}.story-panel p,.card p{color:#e0e0e0}.story-panel .footer-note,.footer-note,.entry-date,.geo-note,.subtle{color:#b8c0cc}
.map-layout{border-top:2px solid #c3a000}.map-wrap{color-scheme:light;color:#111}.map-credit{color:#545b60}.map-zoom button{background:#fff;color:#000;border-color:#bbb}.map-pin.selected,.map-pin.draft{color:#000}
.search input,.filter,.field input,.field textarea,.field select,.share-form input,.review-card textarea,.users-table select,.collection-toolbar input{background:#171717;color:#fff;border-color:#444}
.search input::placeholder,input::placeholder,textarea::placeholder{color:#a0a0a0}.field small,.help,.meta-row,.map-counter{color:#b8c0cc}
.card,.memory-card,dialog{background:#111;color:#fff;border-color:#333}.card h2,dialog h2{color:#fff}dialog p{color:#b8c0cc}dialog::backdrop{background:#000b}
.badge{background:#272727;color:#ddd}.badge.gold,.status-pending{background:#3b3000;color:#ffe36c}.badge.green,.status-approved{background:#183021;color:#b5dfb0}.badge.red,.status-rejected,.status-withdrawn{background:#3b1916;color:#ffb6aa}
.private-intro,.pin-selection,.own-note{background:#211d0d;border-color:#756000;color:#e9ddb4}.coordinates,.pin-hint,.location-status{color:#dfd2a1!important}.source-link{color:#ffdc54}.fact{border-color:#333}
.link-card,.place-row,.attachment-row{background:#191919;border-color:#363636;color:#fff}.link-icon,.place-row .number{background:#302914;color:#ffe17c}.link-card small,.place-row small{color:#b8c0cc}.empty p{color:#b8c0cc}.empty-symbol{background:#2c2608;border-color:#756000;color:#ffd700}
.memory-cover{background:linear-gradient(135deg,#44380c,#191919);color:#ddc774}.memory-card p,.users-table small,.account-meta{color:#b8c0cc}.review-card blockquote{background:#1a1a17;color:#fff}.form-error{background:#391613;color:#ffc0b5}.count{background:#312a0c;color:#ffe48a}
.public-map-canvas{position:absolute;inset:0;z-index:0;background:#dbe5e9;color:#111;font:12px/1.5 Arial,sans-serif}
.map-stage{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}
.map-add-fact,.map-add-memory{position:absolute;top:16px;right:16px;z-index:900;box-shadow:0 3px 12px #0004}
.map-layout.public-explore,.map-layout.private-explore{height:calc(100dvh - 100px);min-height:560px}
@media(min-width:741px){.map-layout{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}}
.dashboard-tabs{flex-wrap:wrap}.locations-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.locations-heading h2{margin:0 0 7px}.locations-heading p{max-width:650px;margin:0}.locations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.location-card+.location-card{margin-top:0}.location-card h3{font-size:20px;margin:0}.location-card .review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.location-card p{overflow-wrap:anywhere}.location-card .actions{margin-top:18px}.location-filter{margin:0;min-width:140px}.location-editor{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:24px}.location-editor>section{min-width:0}.location-picker{height:400px;min-height:400px;flex:none;border-radius:10px;border:1px solid #555}.location-pin-tools{margin:12px 0 18px}.location-draft-pin{cursor:grab;touch-action:none}.location-draft-pin:active{cursor:grabbing}
@media(max-width:740px){.locations-heading{align-items:flex-start;flex-direction:column;gap:12px}.locations-grid,.location-editor{grid-template-columns:1fr}.location-picker{height:350px;min-height:350px}}
.private-explore .map-only-empty{top:auto;bottom:90px;left:12px;max-width:min(260px,calc(100% - 75px))}
.public-map .map-zoom{z-index:800;bottom:58px}.public-map .map-zoom button:last-child{font-size:10px;font-weight:800}
.public-map .leaflet-control-attribution{font-size:10px;background:#fffffff0;color:#333}.public-map .leaflet-control-attribution a{color:#175075}
.public-map-status{position:absolute;left:12px;bottom:35px;z-index:800;background:#fffffff0;color:#222;padding:6px 9px;border-radius:6px;font-size:10px;max-width:calc(100% - 75px);pointer-events:none}
.public-marker{background:transparent;border:0}.public-pin{padding:0;min-height:0;width:34px;height:34px;background:#000;color:#fff;border:2px solid white;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);box-shadow:0 2px 7px #0005;cursor:pointer}
.public-place-label{position:absolute;left:50%;top:-34px;transform:translateX(-50%);padding:5px 8px;width:max-content;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;color:#111;border:1px solid #b7b7b7;border-radius:6px;box-shadow:0 2px 7px #0003;font:600 12px/1.3 "Segoe UI",Arial,sans-serif;pointer-events:none}
.public-place-label.selected{background:#ffd700;border-color:#8d7300}.public-place-label[hidden]{display:none}
.public-pin span{transform:rotate(45deg);pointer-events:none;font-size:12px}.public-pin.selected{background:#ffd700;color:#000;border-color:#000}.public-pin.cluster{width:76px;height:34px;border-radius:20px;transform:none}.public-pin.cluster span{transform:none;font-size:11px;white-space:nowrap}.public-pin:focus-visible{outline:3px solid #a57400;outline-offset:4px}
.tile-notice,.offline-map-notice{position:absolute;top:12px;left:12px;z-index:850;background:#111;color:#fff;border:1px solid #b39400;border-radius:8px;padding:10px;font-size:11px;max-width:260px}.tile-notice button{display:block;font-size:11px;min-height:32px;background:#ffd700;color:#000;margin-top:7px}
.place-document{font:17px/1.65 "Segoe UI",Arial,sans-serif}.place-document header{background:#000;border-bottom:1px solid #645300}.place-document header nav{align-items:center}.place-document header img{width:56px;height:56px;vertical-align:middle;margin-right:12px}.place-document main{max-width:820px;margin:auto;padding:32px 22px 72px}.place-document article{background:#111;border-color:#333;color:#fff}.place-document a{color:#ffdc54}.place-document .meta,.place-document .demo{color:#b8c0cc}.place-document .tag{color:#000}
@media(max-width:1000px){.brand-logo{width:56px;height:56px}.brand strong{font-size:14px}.brand small{font-size:8px}.site-header{gap:14px}}
@media(max-width:740px){.site-header{padding:16px}.brand-logo{width:58px;height:58px}.brand strong{font-size:16px}.brand small{font-size:8px}.site-nav{gap:7px}.site-nav button{min-height:40px}.page-head{padding-top:24px;padding-bottom:23px}.story-panel{border-top-color:#756000}.public-map .leaflet-control-attribution{font-size:9px}.public-map-status{font-size:9px;bottom:33px}}
@media(max-width:740px){.map-layout.public-explore,.map-layout.private-explore{height:auto;min-height:0}.map-add-fact,.map-add-memory{top:12px;right:12px;font-size:12px;min-height:42px}}
.player-layout-toggle{display:block;margin:10px 0 20px auto;padding:7px 0;background:transparent;border:0;color:#bdbdbd;font:12px/1.5 "Segoe UI",sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:34px}.player-layout-toggle:hover{color:#ffd700}.player-layout-toggle:focus-visible{outline:3px solid #ffd700;outline-offset:4px}

.story-panel .place-title-link{color:inherit;text-decoration:underline;text-decoration-color:#6b5900;text-underline-offset:5px;text-decoration-thickness:1px}.story-panel .place-title-link:hover{color:#ffd700;text-decoration-color:currentColor}

/* Compact groups keep the street map visible at city scale. */
.public-pin.cluster{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff8d8;color:#211d0c;border:2px solid #fff;box-shadow:0 2px 7px #0005,0 0 0 1px #c6b773;transform:none;transition:background .15s,box-shadow .15s}.public-pin.cluster:hover{background:#ffe977;box-shadow:0 3px 10px #0006,0 0 0 3px #ffd70060}.public-pin.cluster .group-pin-icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.public-pin.cluster .group-pin-count{position:absolute;top:-7px;right:-9px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 4px;border:2px solid #fff;border-radius:20px;background:#171717;color:#fff;font:750 10px/1 "Segoe UI",sans-serif;box-shadow:0 1px 3px #0004;transform:none}.public-pin.cluster.selected{background:#ffd700;color:#000;border-color:#fff;box-shadow:0 0 0 2px #8b7300,0 2px 8px #0005}.public-pin.cluster.selected .group-pin-count{background:#ffd700;color:#000;border-color:#171717}
/* Close zoom: small public video covers, with priority for the selected place. */
.public-pin.thumbnail-pin{position:relative;width:64px;height:44px;padding:0;border:3px solid #fff;border-radius:9px;background:#151515;transform:none;box-shadow:0 3px 9px #0006;overflow:visible;display:block}.public-pin.thumbnail-pin::after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #fff}.public-pin.thumbnail-pin.selected{border-color:#ffd700;box-shadow:0 0 0 2px #695800,0 3px 10px #0008}.public-pin.thumbnail-pin.selected::after{border-top-color:#ffd700}.pin-video-thumbnail{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px;pointer-events:none}.public-pin.thumbnail-pin .thumbnail-play{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#000b;color:#fff;font-size:8px;line-height:1;transform:none;pointer-events:none}.public-pin.thumbnail-pin .thumbnail-fallback{display:none}.thumbnail-marker .public-place-label{top:-29px}.public-pin.thumbnail-pin:hover{border-color:#ffd700}.public-pin.thumbnail-pin:hover::after{border-top-color:#ffd700}.public-pin.thumbnail-pin.thumbnail-unavailable{width:34px;height:34px;left:13px;top:10px;border:2px solid #fff;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);background:#000;color:#fff}.public-pin.thumbnail-unavailable::after,.public-pin.thumbnail-unavailable .pin-video-thumbnail,.public-pin.thumbnail-unavailable .thumbnail-play{display:none}.public-pin.thumbnail-pin.thumbnail-unavailable .thumbnail-fallback{display:block;transform:rotate(45deg);font-size:12px}.public-pin.thumbnail-unavailable.selected{background:#ffd700;color:#000;border-color:#000}

/* Thumbnail frames honor the same authored video format as the story player. */
.public-pin.thumbnail-pin{width:72px;height:40.5px}.public-pin.thumbnail-pin.portrait-thumbnail{width:42px;height:74.6667px}.public-pin.thumbnail-pin.thumbnail-unavailable{width:34px;height:34px;left:17px;top:6.5px}.public-pin.thumbnail-pin.portrait-thumbnail.thumbnail-unavailable{left:2px;top:40.6667px}
.leaflet-container .leaflet-marker-pane .pin-video-thumbnail{width:100%;height:100%;object-fit:cover}
.map-land,.map-park,.map-street{vector-effect:non-scaling-stroke}.map-zoom button:last-child{font-size:10px;font-weight:800}

/* Keep the map notice clear of the add-fact action on phones. */
.public-explore .offline-map-notice,.public-explore .tile-notice{max-width:min(260px,calc(100% - 140px))}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(18px,4vw,64px);border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;gap:24px}.site-footer a{display:inline-flex;align-items:center;min-height:36px;text-underline-offset:4px}.site-footer a:hover{color:var(--gold)}@media(max-width:480px){.site-footer{align-items:flex-start;flex-direction:column;gap:8px}}
.email-preferences{border:1px solid var(--line);border-radius:12px;margin:22px 0;padding:16px;min-width:0}.email-preferences legend{font-size:13px;font-weight:700;padding:0 6px}.email-preferences legend small{font-size:10px;color:var(--muted);font-weight:400;margin-left:7px}.email-preferences>p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 12px}.email-choice{display:flex;align-items:flex-start;gap:12px;padding:10px 0;cursor:pointer;min-height:44px}.email-choice input[type=checkbox]{width:19px;height:19px;min-width:19px;margin:1px 0 0;accent-color:var(--gold)}.email-choice strong{display:block;font-size:13px;line-height:1.5}.email-choice small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:3px}.email-preferences .email-preference-note{font-size:10px;margin:12px 0 0}

/* Keep desktop map browsing within the viewport, including its footer. */
@media(min-width:741px){
  body:has(> #main > .map-layout){height:100dvh;display:flex;flex-direction:column}
  body:has(> #main > .map-layout) > .site-header{flex:none;min-height:72px;padding-block:8px}
  body:has(> #main > .map-layout) .brand-logo{width:54px;height:54px}
  body:has(> #main > .map-layout) > #main{flex:1;min-height:0;display:flex;flex-direction:column}
  body:has(> #main > .map-layout) > #main > .page-head{flex:none;padding-block:14px}
  body:has(> #main > .map-layout) > #main > .map-layout{flex:1;min-height:0;height:auto}
  body:has(> #main > .map-layout) :is(.map-column,.map-stage,.map-wrap,.story-panel){min-height:0}
  body:has(> #main > .map-layout) .story-panel{overscroll-behavior-y:contain}
  body:has(> #main > .map-layout) > .site-footer{flex:none;padding-block:6px}
  body:has(> #main > .map-layout) > .site-footer a{min-height:28px}
}
