:root{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-synthesis:none;color-scheme:light;--bg:#fafafa;--surface:#fff;--soft:#efefef;--soft2:#e7e7e7;--text:#141414;--muted:#666;--line:#e9e9e9;--solid:#111;--on-solid:#fff;--shadow:0 5px 20px #0000000b;--map:#dedede;--nav:rgba(250,250,250,.96)}
:root[data-theme=dark]{color-scheme:dark;--bg:#171717;--surface:#202020;--soft:#292929;--soft2:#363636;--text:#f5f5f5;--muted:#a1a1a1;--line:#303030;--solid:#f5f5f5;--on-solid:#111;--shadow:0 5px 20px #0003;--map:#292929;--nav:rgba(23,23,23,.96)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background:#e8e8e7;color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;color:inherit;background:none;cursor:pointer}a{color:inherit}button:disabled,input:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #729bbe;outline-offset:3px}svg:not(.leaflet-zoom-animated){display:block;width:23px;height:23px;flex-shrink:0}i{display:flex;align-items:center;font-style:normal}button svg{pointer-events:none}h1,h2,h3,p{margin-top:0}button,input{touch-action:manipulation}.app-shell{width:min(100%,430px);height:calc(100dvh - 36px);max-height:932px;min-height:500px;position:relative;background:var(--bg);border-radius:28px;overflow:hidden;box-shadow:0 16px 60px #00000016}[hidden]{display:none!important}
/* The home mirrors the photographic, typographic composition in the reference. */
.home{position:relative;height:100%;overflow:hidden;color:#151515;background:#dededb}.home-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1)}.home-shade{position:absolute;inset:0;background:linear-gradient(180deg,#fff0 48%,#ffffff0a 60%,#ffffff2b 100%);pointer-events:none}.home-brand{position:absolute;top:29%;left:0;right:0;text-align:center}.home-brand h1{font-size:41px;font-weight:300;letter-spacing:.33em;margin:0 0 11px .33em;line-height:1.15}.home-brand p{font-size:13px;letter-spacing:.52em;margin:0 0 0 .52em;font-weight:400}.home-menu{position:absolute;top:58%;left:32px;right:32px;display:flex;flex-direction:column;align-items:flex-start;gap:0}.home-menu button{display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:13px;letter-spacing:.19em;text-transform:uppercase;min-height:42px;padding:9px 0;text-align:left;font-weight:400}.home-menu button:first-child{min-width:143px}.home-menu svg{width:18px;height:18px;stroke-width:1.1}.home-caption{position:absolute;bottom:30px;left:33px;font-family:Georgia,"Times New Roman",serif;font-size:15px;font-style:italic;line-height:1.55;margin:0;color:#3b3b3b}.home-caption span{display:block;height:1px;background:#555;width:32px;margin-top:13px}
/* Shared app surfaces */
.explorer{height:100%;display:flex;flex-direction:column;background:var(--bg)}.explore-header{display:flex;align-items:center;justify-content:space-between;padding:42px 22px 12px;gap:12px;flex-shrink:0}.city{display:flex;gap:8px;align-items:center;font-size:28px;line-height:1.15;padding:0;letter-spacing:-.65px;font-weight:400;text-align:left}.city svg{width:17px;height:17px;color:var(--muted)}.count{font-size:14px;line-height:1.4;color:var(--muted);margin-top:4px}.circle{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.explore-header>.circle{margin-right:-7px}.circle svg{width:23px;height:23px}.search-tools{display:flex;gap:9px;padding:0 20px 11px;align-items:center;flex-shrink:0}.search{display:flex;align-items:center;gap:8px;min-width:0;background:var(--soft);border-radius:12px;padding:0 11px;flex:1}.search>i{color:var(--muted)}.search>i svg{width:19px;height:19px;stroke-width:1.5}.search input{color:var(--text);width:100%;min-width:0;border:0;background:transparent;outline:none;font-size:14px;height:39px;padding:0;appearance:none}.search input::-webkit-search-cancel-button{appearance:none}.search input::placeholder{color:var(--muted)}.search button{padding:6px 0 6px 4px}.search button svg{width:19px;height:19px;stroke-width:1.25}.filter-line{display:flex;gap:5px;padding:0 17px 12px 20px;align-items:center;flex-shrink:0}.pills{display:flex;gap:7px;overflow:auto;scrollbar-width:none;flex:1}.pill,.option-chips button,.tag,.status-filters button{border-radius:22px;background:var(--soft);padding:10px 14px;font-size:12px;white-space:nowrap;line-height:1.2}.pill[aria-pressed=true],.option-chips button[aria-pressed=true],.status-filters button[aria-pressed=true]{background:var(--solid);color:var(--on-solid)}.filter-button{position:relative;display:grid;place-items:center;width:36px;height:34px;flex-shrink:0}.filter-button svg{width:20px;height:20px}.search-tools>.filter-button{border-radius:10px;background:var(--soft);height:39px}.filter-button span{position:absolute;top:0;right:0;border-radius:50%;font-size:10px;width:15px;height:15px;display:grid;place-items:center;background:var(--solid);color:var(--on-solid)}.active-filters{display:flex;align-items:center;justify-content:space-between;padding:0 22px 11px;gap:10px;font-size:12px;color:var(--muted)}.active-filters span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-filters button{text-decoration:underline;font-size:12px;padding:3px;flex-shrink:0}.explore-body{flex:1;min-height:0;position:relative}.bottom-nav{display:flex;justify-content:space-around;flex-shrink:0;background:var(--nav);border-top:1px solid var(--line);padding:11px 12px 16px;min-height:76px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;color:var(--muted)}.bottom-nav svg{width:22px;height:22px;stroke-width:1.55}.bottom-nav span{font-size:12px;line-height:1.2}.bottom-nav button[aria-pressed=true]{color:var(--text);font-weight:600}.bottom-nav button[aria-pressed=true] svg{stroke-width:2}.bottom-nav button[data-view=saved][aria-pressed=true] svg,.bottom-nav button[data-view=profile][aria-pressed=true] svg{fill:currentColor}.explorer[data-view=profile] .city{font-weight:600}.explorer[data-view=saved] .explore-header{padding-bottom:20px}
/* Monochrome map, white outlined markers and selected blue halo. */
.map-screen{height:100%;position:relative;background:var(--map)}#map{height:100%;width:100%;z-index:1;background:var(--map)}.leaflet-container{font-family:inherit}.leaflet-tile-pane{filter:grayscale(1) contrast(.78) brightness(1.09)}[data-theme=dark] .leaflet-tile-pane{filter:grayscale(1) invert(.91) contrast(.83) brightness(.87)}.leaflet-control-attribution{font-size:9px!important;background:var(--nav)!important;color:var(--muted)!important;max-width:100%}.leaflet-control-attribution a{color:var(--muted)!important}.map-controls{position:absolute;right:13px;top:16px;z-index:405;display:flex;flex-direction:column;gap:7px}.map-controls button{background:#fff;color:#111;width:35px;height:35px;font-size:26px;font-weight:300;box-shadow:0 2px 8px #0002}.fit-map{position:absolute;z-index:405;right:17px;bottom:136px;width:50px;height:50px;background:#fff;color:#111;box-shadow:0 3px 13px #0002}.fit-map svg{width:26px;height:26px;stroke-width:1.5}.atlas-marker{border:0;background:none}.single-pin,.cluster-pin{display:grid;place-items:center;width:37px;height:37px;border:2px solid #fff;border-radius:50%;background:#111;color:#fff;box-shadow:0 1px 6px #0005}.single-pin svg{width:21px;height:21px;stroke-width:1.35}.cluster-pin{font-size:13px}.is-selected .single-pin{width:44px;height:44px;box-shadow:0 0 0 7px #96bddce0,0 0 0 9px #ffffffde,0 2px 10px #0004}.visited-pin:after{content:'✓';position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;border-radius:50%;border:1.5px solid white;display:grid;place-items:center;background:#111;color:white;font-size:10px}.leaflet-tooltip{border:0!important;border-radius:8px!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:var(--shadow)!important;font-size:13px!important}.spotlight{position:absolute;z-index:405;left:12px;right:12px;bottom:21px;padding:12px;display:flex;align-items:center;gap:15px;border-radius:19px;background:var(--nav);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:var(--shadow);text-align:left}.spotlight-visual{width:78px;height:82px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--soft2);color:var(--muted);flex-shrink:0}.spotlight-visual img{width:100%;height:100%;object-fit:cover}.spotlight-visual svg{width:29px;height:29px}.spotlight-copy{min-width:0;flex:1}.spotlight h2{font-size:15px;line-height:1.3;font-weight:600;letter-spacing:-.2px;margin:0 0 7px}.spotlight p,.spotlight small{font-size:12px;line-height:1.35;margin:0 0 5px;color:var(--muted);display:block}.spotlight p{color:var(--text);opacity:.78}.spotlight>i{color:var(--muted)}.spotlight>i svg{width:16px;height:16px}.map-status,.empty-map{position:absolute;z-index:410;border-radius:14px;padding:16px;background:var(--surface);box-shadow:var(--shadow);font-size:14px;line-height:1.5}.map-status{top:14px;left:14px;right:61px}.empty-map{top:27%;left:25px;right:25px;text-align:center}.empty-map p{color:var(--muted)}
/* Compact catalogue and editorial collections. */
.list-screen,.discovery-screen,.profile-screen{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.list-screen{padding:0 20px 20px}.row-wrap{display:flex;align-items:center;border-bottom:1px solid var(--line);position:relative}.building-row{display:flex;gap:14px;align-items:center;flex:1;min-width:0;padding:10px 0;text-align:left}.row-visual{width:73px;height:82px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:var(--soft2);color:var(--muted);flex-shrink:0}.row-visual img{height:100%;width:100%;object-fit:cover}.row-content{min-width:0;flex:1}.row-content h2{font-size:14px;line-height:1.3;font-weight:600;letter-spacing:-.15px;margin:0 0 5px}.row-content p{font-size:12px;line-height:1.4;color:var(--muted);margin:0 0 3px}.building-row>i{color:var(--muted)}.building-row>i svg{width:14px;height:14px}.row-visited{display:flex;align-items:center;justify-content:center;width:29px;cursor:pointer;flex-shrink:0}.row-visited input{width:16px;height:16px;accent-color:var(--text);margin:0}.row-visited span{display:none}.row-more{padding:10px 0 10px 6px}.row-more svg{width:19px;height:19px}.explorer[data-view=saved] .row-wrap{border:0}.explorer[data-view=saved] .building-row{padding:7px 0}.explorer[data-view=saved] .row-visual{width:82px;height:91px}.explorer[data-view=saved] .row-visited{display:none}.status-filters{display:flex;gap:7px;margin:4px 0 12px}.selection-intro{padding:3px 0 17px;font-size:14px;line-height:1.5;color:var(--muted)}.selection-intro p{margin:0 0 12px}.selection-intro button{font-size:13px;text-decoration:underline;padding:0}.selection-actions{display:flex;align-items:center;gap:16px}.selection-actions a{font-size:13px}.empty-state{padding:50px 12px;text-align:center;color:var(--muted);font-size:15px;line-height:1.6}.empty-state h2{color:var(--text);font-size:24px;font-weight:400;letter-spacing:-.5px}.empty-state button{margin-top:12px}.discovery-screen{padding:5px 17px 18px}.discovery-card{position:relative;display:block;overflow:hidden;width:100%;height:143px;border-radius:11px;margin-bottom:10px;color:#fff;background:#575957;text-align:left;padding:0}.discovery-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.55);transition:transform .3s}.discovery-card:hover img{transform:scale(1.025)}.discovery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,#0002 85%)}.discovery-card-text{position:absolute;left:16px;right:36px;bottom:16px;z-index:1}.discovery-card h2{font-size:20px;font-weight:400;letter-spacing:-.5px;line-height:1.15;margin:0 0 7px}.discovery-card p{font-size:13px;line-height:1.3;margin:0}.discovery-card small{display:block;font-size:12px;line-height:1.3;margin-top:4px;opacity:.9}.discovery-card>i{position:absolute;right:13px;bottom:29px;z-index:1}.discovery-card>i svg{width:18px;height:18px}.discovery-card>.fallback-art{width:100%;height:100%;display:grid;place-items:center;background:var(--soft2)}.fallback-art svg{width:60px;height:60px}
/* Profile matches the grouped settings in the reference. */
.profile-screen{padding:7px 21px 20px}.profile-identity{display:flex;align-items:center;gap:14px;padding:11px 0 23px}.profile-avatar{width:63px;height:63px;border-radius:50%;display:grid;place-items:center;background:var(--soft2);color:#999;flex-shrink:0}.profile-avatar svg{width:40px;height:40px;fill:currentColor;stroke-width:0}.profile-identity h2{font-size:16px;font-weight:500;margin:0 0 6px;letter-spacing:-.2px}.profile-identity p{font-size:12px;margin:0;color:var(--muted)}.settings-group{border-radius:15px;background:var(--soft);padding:0 14px;margin-bottom:18px}.settings-row{display:flex;align-items:center;gap:15px;width:100%;min-height:49px;padding:12px 0;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.settings-row:last-child{border-bottom:0}.settings-row>i:first-child svg{width:23px;height:23px;stroke-width:1.55}.settings-row>span{flex:1}.settings-row small{font-size:13px;color:var(--muted)}.settings-row>i:last-child svg{width:14px;height:14px;color:var(--muted)}.appearance{padding:14px}.setting-label{display:flex;align-items:center;gap:13px;margin-bottom:15px;font-size:15px}.setting-label svg{width:24px;height:24px}.theme-switch{display:flex;align-items:stretch;padding:3px;border-radius:22px;background:var(--soft2)}.theme-switch button{padding:10px 5px;flex:1;font-size:12px;white-space:nowrap;border-radius:20px}.theme-switch button[aria-pressed=true]{background:var(--surface);box-shadow:0 2px 8px #00000009;font-weight:500}.settings-flat{padding:0 11px}.settings-flat .settings-row{min-height:51px}.personal-privacy{font-size:12px!important;line-height:1.5;color:var(--muted);margin:18px 0 8px}.profile-home{display:block;margin:26px auto 0;font-weight:300;letter-spacing:.36em;font-size:19px;padding:12px}.profile-home span{display:block;font-size:9px;letter-spacing:.5em;margin-top:7px}.profile-screen:has(#journal-retry[hidden]) #journal-status{margin-top:20px}
/* Sheets and exclusive filters. */
.sheet,.detail-dialog{border:0;background:var(--bg);color:var(--text);padding:0;outline:none;max-width:100%;width:min(430px,100%);box-shadow:0 15px 70px #0003}.sheet::backdrop,.detail-dialog::backdrop{background:#0005}.sheet{border-radius:25px;max-height:89dvh;padding:24px;overflow-y:auto;overscroll-behavior:contain}.sheet-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.sheet-top h2{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:0}.sheet-top .circle{margin-right:-9px}.sheet-top .circle svg{width:19px;height:19px}.sheet p{font-size:15px;line-height:1.6;color:var(--muted)}.sheet-handle{display:block;width:29px;height:3px;background:#c6c6c6;border-radius:2px;position:absolute;left:calc(50% - 14px);top:10px}.filters-sheet{padding-top:25px;position:fixed;bottom:18px;top:auto;margin:0 auto;max-height:calc(100dvh - 62px);display:none}.filters-sheet[open]{display:block}.filter-hint{font-size:12px!important;margin:5px 0 22px}.filter-section{margin:25px 0 29px}.filter-section h3{font-size:14px;font-weight:600;margin:0 0 13px}.option-chips{display:flex;flex-wrap:wrap;gap:8px}.option-chips button{padding:10px 14px;white-space:normal;text-align:center;font-size:12px;min-height:35px}.architect-search{width:100%;border-radius:12px}.architect-options{display:flex;flex-direction:column;max-height:165px;overflow:auto;margin-top:8px}.architect-options:empty{display:none}.architect-options button{text-align:left;font-size:13px;line-height:1.35;padding:10px 12px;min-height:36px;border-bottom:1px solid var(--line)}.architect-options button[aria-pressed=true]{background:var(--solid);color:var(--on-solid);border-radius:10px}.filter-footer{position:sticky;bottom:-24px;background:var(--bg);padding:13px 0 7px;margin-top:28px}.black-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;min-height:45px;background:var(--solid);color:var(--on-solid);border-radius:25px;width:100%;text-decoration:none;font-size:14px;font-weight:500}.black-button svg{width:19px;height:19px}.plain-reset{font-size:13px;display:block;margin:6px auto 0;padding:9px;color:var(--muted)}.muted{font-size:13px!important;line-height:1.5;color:var(--muted)!important}
/* Architecture detail: image, white curved panel, title, story and gallery. */
.detail-dialog{height:calc(100dvh - 36px);max-height:932px;border-radius:28px;overflow:hidden}.detail-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:76px}.detail-hero{height:37%;min-height:287px;max-height:390px;position:relative;background:var(--soft2)}.detail-hero>img{height:100%;width:100%;object-fit:cover;object-position:center 35%}.detail-hero.no-photo{background:#bcbdbb}.hero-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#737572}.hero-fallback svg{width:65px;height:65px;stroke-width:1}.detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(#0003,transparent 40%);pointer-events:none}.detail-actions{position:absolute;top:25px;left:12px;right:13px;z-index:2;display:flex;align-items:center;justify-content:space-between;color:#fff}.detail-actions>div{display:flex;gap:3px}.detail-actions .circle svg{width:21px;height:21px;stroke-width:1.6}.detail-actions .circle{filter:drop-shadow(0 1px 3px #0006)}.detail-saved[aria-pressed=true] svg{fill:currentColor}.detail-menu{position:absolute;right:17px;top:67px;z-index:6;display:flex;flex-direction:column;background:var(--surface);box-shadow:0 7px 20px #0003;border-radius:13px;padding:6px;min-width:190px}.detail-menu a,.detail-menu button{font-size:14px;text-align:left;padding:12px;border-radius:7px;text-decoration:none}.detail-menu a:hover,.detail-menu button:hover{background:var(--soft)}.detail-body{position:relative;z-index:3;border-radius:24px 24px 0 0;margin-top:-22px;padding:19px 23px 28px;background:var(--bg)}.detail-heading h1{font-size:26px;font-weight:500;letter-spacing:-.7px;line-height:1.15;margin:0 0 6px}.detail-heading p{font-size:15px;margin:0 0 5px;color:var(--text);opacity:.85}.detail-heading .detail-location{font-size:13px;color:var(--muted);margin-bottom:18px}.detail-tab-content{font-size:15px;line-height:1.55}.detail-tab-content>p:first-child{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--muted)}.detail-tab-content h2{font-size:16px;font-weight:600;margin:25px 0 12px}.detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 24px}.tag{padding:8px 13px;font-size:12px}.detail-tabs{display:flex;gap:6px;margin:0 0 20px;overflow:auto;scrollbar-width:none}.detail-tabs button{font-size:12px;padding:9px 11px;border-radius:17px;white-space:nowrap;color:var(--muted);background:var(--soft)}.detail-tabs button[aria-selected=true]{background:var(--solid);color:var(--on-solid)}.detail-tabs.compact{margin-top:27px}.gallery-heading,.nearby-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 12px}.gallery-heading h2,.nearby-heading h2{font-size:16px;margin:0;font-weight:600}.gallery-heading button,.nearby-heading button{font-size:12px;color:var(--muted)}.gallery-strip{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin-right:-23px;padding-right:23px}.gallery-strip button,.gallery-strip a{flex:0 0 122px;min-width:0;padding:0;display:block;height:117px;border-radius:10px;overflow:hidden;background:var(--soft2);color:var(--muted)}.gallery-strip img{height:100%;width:100%;object-fit:cover;display:block}.gallery-strip .add-gallery{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:12px;border:1px solid var(--line);background:var(--soft)}.personal-actions{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap;margin:24px 0 18px}.visited-control,.photo-upload-button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:22px;padding:11px 12px;font-size:13px;cursor:pointer;flex:1;min-height:44px}.visited-control input{width:18px;height:18px;margin:0;accent-color:var(--text)}.photo-upload-button svg{width:19px;height:19px}.personal-actions>#detail-journal-retry{width:100%}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center;margin:25px 0}.facts>div{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.facts svg{width:20px;height:20px}.mini-map{position:relative;height:106px;border-radius:13px;overflow:hidden;margin:20px 0;background:var(--soft)}.mini-map-canvas{height:100%;width:100%;z-index:1}.mini-map .black-button{position:absolute;bottom:14px;right:12px;z-index:405;width:auto;min-height:35px;padding:9px 13px;font-size:12px;background:#111;color:#fff}.nearby-list{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin-right:-23px;padding-right:23px}.nearby-card{width:132px;flex-shrink:0;padding:0;text-align:left}.nearby-photo{height:105px;border-radius:10px;background:var(--soft2);overflow:hidden;display:grid;place-items:center;color:var(--muted)}.nearby-photo img{width:100%;height:100%;object-fit:cover}.nearby-card h3{font-size:12px;font-weight:500;line-height:1.35;margin:8px 0 5px}.nearby-card p{font-size:12px;color:var(--muted)}.detail-source,.photo-credit{font-size:12px;color:var(--muted);line-height:1.6;margin-top:23px}.gallery-photo{display:block;width:100%;border-radius:12px}.detail-tab-content ul{padding-left:19px;font-size:14px}.detail-tab-content li{margin-bottom:10px}.author-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.author-card button{font-size:12px;text-decoration:underline;flex-shrink:0}.detail-nav{position:absolute;z-index:6;bottom:0;left:0;right:0}.personal-gallery h2{font-size:18px}.personal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.personal-photo{margin:0;min-width:0}.personal-photo img{width:100%;height:140px;object-fit:cover;border-radius:10px;display:block}.personal-photo>a:not(:first-child),.personal-photo button{font-size:12px;padding:7px 0}.personal-photo button{float:right;color:var(--muted)}.personal-gallery .photo-upload-button{flex:none;width:fit-content}.upload-message{font-size:13px;white-space:pre-line}.toast{position:fixed;z-index:10000;bottom:100px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);border-radius:22px;padding:13px 20px;background:var(--solid);color:var(--on-solid);box-shadow:0 3px 18px #0002;text-align:center;font-size:14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:520px){body{display:block;background:var(--bg)}.app-shell{width:100%;min-height:0;max-height:none;border-radius:0;box-shadow:none}.explore-header{padding-top:calc(28px + env(safe-area-inset-top))}.home-caption{bottom:calc(28px + env(safe-area-inset-bottom))}.bottom-nav{min-height:calc(70px + env(safe-area-inset-bottom));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.sheet{margin:auto 0 0;border-radius:25px 25px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.filters-sheet{bottom:0;max-height:calc(100dvh - 40px);width:100%}.detail-dialog{margin:0;width:100%;max-height:none;border-radius:0}.detail-scroll{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.detail-actions{top:calc(23px + env(safe-area-inset-top))}.detail-hero{height:39dvh;min-height:270px}.detail-menu{top:calc(67px + env(safe-area-inset-top))}.filter-footer{padding-bottom:calc(5px + env(safe-area-inset-bottom))}}
@media(min-width:521px){body:has([data-theme-choice=dark][aria-pressed=true]){background:#242424}.home-brand h1{font-size:44px}}
@media(max-height:740px){.explore-header{padding-top:22px;padding-bottom:10px}.home-brand{top:27%}.home-brand h1{font-size:36px}.home-menu{top:56%}.home-menu button{min-height:34px;font-size:12px}.home-caption{bottom:21px;font-size:13px}.spotlight-visual{width:64px;height:67px}.spotlight{gap:12px;padding:11px;bottom:18px}.spotlight h2{font-size:14px;margin-bottom:5px}.spotlight p,.spotlight small{font-size:12px;margin-bottom:3px}.fit-map{bottom:119px}.discovery-card{height:122px}.discovery-card h2{font-size:19px}.detail-hero{min-height:255px}.profile-identity{padding-top:5px;padding-bottom:18px}.settings-group{margin-bottom:14px}.settings-row,.settings-flat .settings-row{min-height:45px;padding:10px 0}.bottom-nav{min-height:67px}.detail-scroll{padding-bottom:67px}}
@media(max-width:360px){.home-menu{left:27px}.home-caption{left:28px}.explore-header{padding-left:18px;padding-right:18px}.search-tools{padding-left:16px;padding-right:16px}.filter-line{padding-left:16px}.pill{font-size:11px;padding:10px 11px}.row-visual{width:64px;height:76px}.building-row{gap:11px}.profile-screen{padding-left:16px;padding-right:16px}.settings-row{gap:10px}.detail-body{padding-left:19px;padding-right:19px}}
#detail-content{height:100%}.detail-hero>img{object-position:center 16%}.detail-hero.image-unavailable>svg{position:absolute;top:40%;left:calc(50% - 24px);width:48px;height:48px;color:#777}.discovery-card.image-unavailable>svg{position:absolute;left:calc(50% - 30px);top:25px;width:60px;height:60px;color:#999}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.home-caption.studio-signature{font-family:inherit;font-size:10px;font-style:normal;letter-spacing:.22em;font-weight:500}
.header-heading{display:flex;gap:6px;align-items:center;min-width:0}.header-heading>div{min-width:0}.header-heading h1{margin:0;font-size:25px;overflow-wrap:anywhere}.header-heading .count{font-size:12px}.back-button{margin-left:-12px;align-self:flex-start}.explore-header{padding-top:28px}.route-library-heading,.route-stops-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.route-library-heading h2,.curated-heading,.route-stops-heading h3{font-size:17px;letter-spacing:-.3px;font-weight:500;margin:0}.route-library-heading small,.route-stops-heading span{font-size:12px;color:var(--muted)}.curated-heading{margin:30px 0 15px}.personal-route-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}.personal-route-row>button:first-child{flex:1;text-align:left;padding:16px 0}.personal-route-row strong,.personal-route-row small{display:block}.personal-route-row strong{font-size:15px;font-weight:500}.personal-route-row small{font-size:12px;color:var(--muted);margin-top:6px}.personal-route-row>button:last-child{min-width:44px;min-height:44px;display:grid;place-items:center}
.route-panel{position:absolute;z-index:405;bottom:21px;left:12px;right:12px;border-radius:21px;padding:15px;background:var(--nav);backdrop-filter:blur(22px);box-shadow:0 4px 24px #0002}.route-panel-heading{display:flex;gap:8px;align-items:center}.route-panel-heading>button:first-child{flex:1;text-align:left;padding:0;min-width:0}.route-panel-heading strong{display:block;font-size:15px;font-weight:600;line-height:1.25}.route-panel-heading small{display:block;font-size:12px;color:var(--muted);line-height:1.45;margin-top:4px}.current-stop{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding:12px 0;margin-top:10px}.stop-number{background:var(--solid);color:var(--on-solid);border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:500}.current-stop>button:nth-child(2){text-align:left;flex:1;min-width:0;padding:0}.current-stop strong{display:block;font-size:13px;line-height:1.35;font-weight:500}.current-stop small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.current-stop .circle{width:30px}.current-stop .circle svg{width:18px;height:18px}.route-panel-actions{display:flex;gap:16px;align-items:center}.route-panel-actions .black-button{flex:1;font-size:13px;min-height:40px;padding:10px 12px}.route-panel-actions a{font-size:12px;white-space:nowrap;text-decoration:none}.route-attribution{font-size:9px;color:var(--muted);display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:10px}.route-attribution button{margin-right:auto;padding:4px 0;font-size:11px;color:var(--text)}.position-message{font-size:11px;color:var(--muted);line-height:1.4;margin:10px 0 0}.has-route .fit-map{bottom:auto;top:105px;width:38px;height:38px;right:12px}.has-route .fit-map svg{width:23px;height:23px}.has-route~*{pointer-events:auto}
.route-editor{max-height:92dvh;padding:26px 22px 20px}.route-name-label{display:block;font-size:12px;margin:22px 0}.route-name-label input{display:block;border:0;border-bottom:1px solid var(--line);width:100%;font-size:19px;padding:12px 0;background:none;color:var(--text);border-radius:0}.route-stops{list-style:none;padding:0;margin:0 0 21px}.route-stops li{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0;font-size:13px;line-height:1.4}.route-stops li>span:nth-child(2){flex:1}.route-stops li>div{display:flex;flex-shrink:0}.route-stops li button{width:32px;height:40px;font-size:19px;padding:0}.route-candidates{margin-top:8px;max-height:220px;overflow:auto;overscroll-behavior:contain}.route-candidates button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 5px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}.route-candidates small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.route-candidates button>span:last-child{font-size:22px;padding:5px}.route-editor-footer{position:sticky;bottom:-20px;padding:12px 0 2px;background:var(--bg)}.walking-steps{padding-left:23px;margin-bottom:25px}.walking-steps li{padding:8px 0;font-size:13px;line-height:1.5;border-bottom:1px solid var(--line)}.walking-steps small{display:block;color:var(--muted);font-size:11px}.directions-leg{font-size:16px;font-weight:500;margin:24px 0 5px}.add-to-route{width:100%;border:1px solid var(--line);border-radius:22px;padding:12px;font-size:13px;margin:0 0 20px}.route-editor::backdrop{background:#0007}
@media(max-width:520px){.explore-header{padding-top:calc(22px + env(safe-area-inset-top))}.route-editor{max-height:94dvh}.route-editor-footer{padding-bottom:env(safe-area-inset-bottom)}}
@media(max-height:760px){.route-panel{padding:12px;bottom:18px}.route-panel-heading strong{font-size:14px}.route-panel-heading small{font-size:11px}.current-stop{margin-top:7px;padding:9px 0}.route-attribution{margin-top:5px}.explorer:has(.has-route) .search-tools,.explorer:has(.has-route) .filter-line{display:none}}
.detail-actions .circle{background:#00000018;backdrop-filter:blur(8px)}.route-editor input{font-size:16px}.route-panel strong{overflow-wrap:anywhere}



/* Complete, searchable author picker */
.architect-options{display:flex;flex-direction:column;gap:0;max-height:46dvh;overflow:auto;background:var(--soft);border-radius:14px}
.architect-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;flex-shrink:0;text-align:left;border-radius:0;padding:12px 14px;border-bottom:1px solid var(--line)}
.architect-options button span{min-width:0}.architect-options small{font-size:12px;color:var(--muted);white-space:nowrap}.architect-options button[aria-pressed=true]{background:var(--solid);color:var(--on-solid)}.architect-options button[aria-pressed=true] small{color:inherit}
.filters-sheet[data-mode=architect] .filter-footer{display:none}.filters-sheet[data-mode=architect] .filter-hint{display:none}.filters-sheet[data-mode=architect] .filter-section{margin-top:12px}.filters-sheet[data-mode=architect] .filter-section h3{display:none}.filters-sheet[data-mode=architect] .architect-search{margin-bottom:14px}

.route-panel-actions{flex-wrap:wrap}.route-panel-actions>.black-button:last-child{order:-1;flex-basis:100%;display:flex;justify-content:center;text-decoration:none}.route-panel-actions #follow-route{background:transparent;color:inherit;border:1px solid var(--line);font-size:13px;min-height:36px}.route-external-link{color:inherit;text-decoration:none}.route-external-link small{display:block;margin-top:5px;white-space:normal}.route-external-link span{min-width:0}.selection-actions .black-button{color:var(--on-solid);background:var(--solid)}

/* Home measured against the supplied 812 x 1602 screen area (excluding phone frame).
   Menu: x 28, y 1053, w 761, h 477. Row centres: 1128 + n * 85.
   Use a bundled font so light weights do not fall back to regular Arial. */
@font-face{font-family:Atlas Grotesk;src:url('/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.home{container-type:size;color:#fff;background:#171717 url('/home-victor.webp') center top/cover no-repeat;--home-type:"Atlas Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.home .home-photo{top:9.5%;height:100%;object-position:center top;filter:none}
.home .home-shade{background:none}
.home .home-brand{top:18.2%;color:#fff;text-shadow:none;font-family:var(--home-type);font-optical-sizing:none;font-variation-settings:"opsz" 32}
.home .home-brand h1{font-size:5.91cqw;font-weight:300;letter-spacing:.65em;line-height:1.18;margin:0 0 1.4cqh .65em}
.home .home-brand p{font-size:2.65cqw;font-weight:350;letter-spacing:.65em;margin:0 0 0 .65em}
.home .home-menu{top:auto;left:3.45%;right:2.83%;bottom:max(4.49%,calc(env(safe-area-inset-bottom,0px) + 32px));height:29.78%;min-height:0;align-items:stretch;padding:2.06cqh 5.42cqw 1.31cqh;gap:0;border:1px solid #ffffff60;border-radius:7.64cqw;background:linear-gradient(115deg,#d4dbdd14,#8fa6be20);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 8px 28px #00000018,inset 0 1px 0 #ffffff55,inset 0 -1px 0 #ffffff18}
.home .home-menu button{flex:1;width:100%;min-width:0;min-height:0;padding:0 1.35cqw;gap:5.6cqw;color:#fff;font-family:var(--home-type);font-optical-sizing:none;font-variation-settings:"opsz" 32;font-size:2.65cqw;font-weight:350;letter-spacing:.19em;line-height:1.3;border-bottom:1px solid #ffffff40}
.home .home-menu button:last-child{border:0}.home .home-menu button span{flex:1}
.home .home-menu svg{width:5.6cqw;height:5.6cqw;stroke-width:1.4}
.home .home-menu .home-chevron svg{width:4.8cqw;height:4.8cqw;stroke-width:1.3}
.home .home-menu button:hover{background:#ffffff10}.home .home-menu button:active{opacity:.65;transform:translateY(1px)}
.home-photo-credit{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 6px);left:6.9%;right:6.9%;font-family:var(--home-type);font-size:clamp(9px,2.2cqw,11px);font-weight:300;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffffc9;text-decoration:none;text-shadow:0 1px 4px #000}
@media(max-height:650px){.home .home-brand{top:13%}.home .home-menu{height:244px;max-height:48%;padding-top:17px;padding-bottom:7px;border-radius:27px}.home .home-menu button{font-size:12px}}

/* Personal profile editor. */
.profile-edit{width:100%;text-align:left;border-radius:12px}.profile-identity-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}.profile-identity-copy strong{font-size:16px;font-weight:500;overflow-wrap:anywhere}.profile-identity-copy>span{font-size:13px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}.profile-identity-copy .profile-edit-label{font-size:12px;color:var(--text);text-decoration:underline;text-underline-offset:3px}.profile-avatar{overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-edit>i svg{width:16px;height:16px;color:var(--muted)}
.profile-editor{max-height:90dvh;overflow:auto}.profile-editor fieldset{border:0;padding:0;margin:0;min-width:0}.profile-photo-editor{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 24px}.profile-photo-editor .profile-avatar{width:96px;height:96px}.profile-photo-editor .plain-reset{font-size:14px;padding:3px}.profile-input-label{display:block;font-size:13px;color:var(--muted);margin:0 0 18px}.profile-input-label input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:16px;background:none;color:var(--text);border-radius:0}.profile-editor-status{font-size:13px;line-height:1.5;white-space:pre-line;color:var(--muted);margin:10px 0 18px}.profile-editor-status:empty{display:none}.profile-editor #save-profile,.profile-login{display:block;width:100%;text-align:center;text-decoration:none;margin-top:12px}.profile-editor fieldset:disabled{opacity:.6}.detail-heading .detail-attribution{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}

/* Photo changes preserve the home menu's size and type. */
.home.rotating-photos {background:#35414b}
.home.rotating-photos .home-photo {top:0;height:100%;object-position:center}
.home.rotating-photos .home-shade {background:linear-gradient(180deg,#00000030 0%,#00000018 40%,#00000005 55%,#00000070 100%)}
.home.rotating-photos .home-brand {text-shadow:0 1px 12px #00000050}
.home.rotating-photos .home-menu {background:linear-gradient(115deg,#c3cedb14,#34485c26)}
.home.rotating-photos .home-photo-credit {color:#ffffffc9}
.home-photo-credit a {color:inherit;text-decoration:none;display:block;max-width:100%;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}
.home-photo-credit a:hover {text-decoration:underline}
.home-photo-credit a:focus-visible {outline:2px solid white;outline-offset:2px}
.home-photo-tags {display:block;font-size:2.1cqw;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* The supplied wordmark is displayed directly, preserving its letterforms. */
.home .home-brand-logo {left:26%;right:auto;width:48%;height:auto;aspect-ratio:3.5;overflow:hidden;mix-blend-mode:screen;filter:invert(1);text-shadow:none}
.home-brand-logo img {position:absolute;max-width:none;width:161%;height:auto;left:-29.8%;top:-95%}

/* One supplied wordmark across profile, information and home. */
.atlas-wordmark,.profile-home .atlas-wordmark {display:block;position:relative;width:160px;aspect-ratio:3.5;overflow:hidden;margin:0;mix-blend-mode:multiply}
.atlas-wordmark img {position:absolute;max-width:none;width:161%;height:auto;left:-29.8%;top:-95%}
html[data-theme=dark] .atlas-wordmark {filter:invert(1);mix-blend-mode:screen}
.profile-home {min-height:48px;padding:12px;letter-spacing:normal}

#profile-photo-preview{display:contents}#profile-choose-photo{border:1px solid var(--line);padding:0}#profile-choose-photo:focus-visible{outline:2px solid var(--text);outline-offset:3px}

.nearby-settings{padding:16px}.nearby-settings h2{font-size:16px;font-weight:500;margin:0 0 10px}.nearby-settings p{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0}
#nearby-find{width:100%;min-height:44px;margin-top:6px}#nearby-find:disabled{opacity:.65}
.nearby-results{display:flex;flex-direction:column}.nearby-result{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:56px;padding:12px 0;text-align:left;border-bottom:1px solid var(--line);border-radius:0}.nearby-result:last-child{border-bottom:0}.nearby-result strong{font-size:14px;font-weight:500;line-height:1.4}.nearby-result small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.4}.nearby-result>span:last-child{white-space:nowrap;font-size:13px;color:var(--muted)}

.catalog-figure{margin:0 0 28px;scroll-margin-top:14px}.catalog-figure .gallery-photo{width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:14px}.catalog-figure figcaption{overflow-wrap:anywhere}

.story-section{margin:0 0 28px;max-width:68ch}.story-section h3{font-size:19px;line-height:1.35;margin:22px 0 10px}.story-section p{line-height:1.7}.story-source{display:inline-block;font-size:12px;line-height:1.5;overflow-wrap:anywhere;padding:8px 0;text-underline-offset:3px}.detail-tabs{overflow-x:auto}.detail-tabs button{white-space:nowrap;flex-shrink:0}

/* Keep the mobile viewport fixed; content panels retain their own scrolling. */
@media (max-width:520px), (pointer:coarse), (max-height:500px) and (max-width:1000px){
 html,body{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .app-shell{width:100%;min-height:0;max-height:none;border-radius:0;box-shadow:none}
 .sheet,.detail-dialog{touch-action:pan-x pan-y}
 .detail-dialog{margin:0;width:100%;max-height:none;border-radius:0}
 input,select,textarea{font-size:16px!important}
}

/* Give Safari an explicit canvas color, including the iPhone safe area. */
html{background:var(--bg)}
@media (max-width:520px), (pointer:coarse), (max-height:500px) and (max-width:1000px){
 html[data-surface=home],html[data-surface=home] body{background:#171717}
 html[data-surface=explorer],html[data-surface=explorer] body{background:var(--bg)}
}


/* A continuous drag sheet; safe-area space stays outside its moving content. */
.explore-panel{display:block;flex:0 0 auto;overflow:hidden;transition:height .22s cubic-bezier(.2,.8,.2,1)}
.explore-panel-content{transform:translateY(var(--panel-shift,0px));transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.panel-dragging,.panel-dragging .explore-panel-content{transition:none!important}
.map-panel-handle{display:none;flex:0 0 32px;width:100%;height:32px;align-items:center;justify-content:center;touch-action:none;background:var(--bg);position:relative;z-index:420;cursor:ns-resize;user-select:none;-webkit-user-select:none}
.map-panel-handle span{width:38px;height:5px;border-radius:4px;background:var(--muted);opacity:.5;pointer-events:none}
.explorer[data-view=map] .map-panel-handle{display:flex}
.explorer[data-view=map].panel-collapsed .explore-panel{height:0}
@media (max-width:520px), (pointer:coarse), (max-height:500px) and (max-width:1000px){
 html{position:static;height:100%;overflow:hidden}
 body{position:static;display:block;min-height:0;overflow:hidden}
 /* Fixed edges are authoritative: do not add a viewport-unit height here. */
 .app-shell{position:fixed;inset:0;width:auto;height:auto;min-height:0;max-height:none;margin:0;border-radius:0}
 .explorer{position:absolute;inset:0;height:auto;padding-top:env(safe-area-inset-top,0px);min-height:0}
 .explore-header{padding-top:14px}
 .explore-body{flex:1 1 0;min-height:0;overflow:hidden}
 .bottom-nav{flex:0 0 auto;min-height:0;height:64px;padding:8px 12px}
 .detail-dialog{position:fixed;inset:0;width:auto;height:auto;min-height:0;max-height:none;margin:0}
 html[data-keyboard=open] .app-shell,html[data-keyboard=open] .detail-dialog{top:var(--keyboard-top,0px);bottom:auto;height:var(--keyboard-height)}
}
@media(prefers-reduced-motion:reduce){.explore-panel,.explore-panel-content{transition:none}}

/* The installed iPhone canvas must have one height from the document to the
   shell. A screen-sized fixed child inside a shorter root can still be clipped
   by WebKit's standalone viewport. Keep the shell in this full-height canvas. */
html[data-ios-standalone=true],
html[data-ios-standalone=true] body{height:var(--standalone-height);min-height:var(--standalone-height);max-height:none}
html[data-ios-standalone=true] body{position:relative}
html[data-ios-standalone=true] .app-shell{position:relative;inset:auto;width:100%;height:100%;max-height:none}
html[data-ios-standalone=true] .detail-dialog{position:fixed;top:0;bottom:auto;height:var(--standalone-height);max-height:none}
/* The bar's background reaches the edge; only its controls avoid the home indicator. */
html[data-ios-standalone=true] .bottom-nav{height:calc(56px + max(8px,env(safe-area-inset-bottom,0px)));padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}
html[data-ios-standalone=true] .detail-scroll{padding-bottom:calc(56px + max(8px,env(safe-area-inset-bottom,0px)))}
html[data-keyboard=open] .app-shell,
html[data-keyboard=open] .detail-dialog{position:fixed;top:var(--keyboard-top,0px);bottom:auto;height:var(--keyboard-height)}
#screen-report-text{width:100%;height:140px;margin-top:12px;color:var(--text);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px}

/* v86 · navigazione e accessibilità */
/* Targets of at least 44 px and inputs of 16 px: pages can now be zoomed, and iOS zooms smaller fields on focus. */
.circle{width:44px;height:44px}
input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}
.search input{font-size:16px}
.search #clear-search{width:44px;height:44px;margin-right:-11px;display:grid;place-items:center;flex-shrink:0}
.row-visited{width:44px;align-self:stretch;min-height:44px}
.row-visited input{width:20px;height:20px}
.gallery-heading button,.nearby-heading button{min-height:44px;padding:0 4px}
.detail-tabs{margin:0 0 18px}
.detail-tabs button{min-height:44px;font-size:13px;padding:0 14px;border-radius:22px}
/* The description is the main content of the card, not a secondary note. */
#detail-intro .detail-tab-content>p:first-child{color:var(--text)}
.personal-actions{margin:0 0 12px}
.detail-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 20px}
.detail-quick-actions>button,.detail-quick-actions>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:62px;padding:10px 4px;border-radius:14px;background:var(--soft);color:var(--text);font-size:12px;line-height:1.2;text-decoration:none;text-align:center}
.detail-quick-actions svg{width:20px;height:20px}
.discover-switch{display:flex;gap:4px;margin:4px 0 16px;padding:4px;background:var(--soft);border-radius:24px}
.discover-switch button{flex:1;min-height:40px;border-radius:20px;font-size:14px;color:var(--muted)}
.discover-switch button[aria-pressed=true]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 4px #0001}
.search input{height:44px}
.filter-button{min-width:44px;min-height:44px}
.mini-map .black-button{min-height:44px}
.route-panel-actions #route-save-copy{flex-basis:100%;order:-2;display:flex;justify-content:center}
.toast[popover]{top:auto;right:auto;bottom:100px;left:50%;margin:0;border:0;width:max-content;height:auto;overflow:visible}
.share-url{display:block;width:100%;min-height:44px;margin:4px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text);font-size:16px}
/* Small image shown at once while the sharp one loads; the slight scale hides the blurred edges. */
.detail-hero img.progressive{filter:blur(6px);transform:scale(1.04)}
.detail-hero img{transition:filter .25s ease}

/* URBYX city entry: uses the established app-shell and iPhone viewport sizing. */
.home.city-picker{background:#fff;color:#111;display:flex;flex-direction:column;overflow-y:auto;container-type:normal;padding:calc(28px + env(safe-area-inset-top,0px)) 22px calc(18px + env(safe-area-inset-bottom,0px));gap:0}
.home.city-picker[hidden]{display:none}
:root[data-theme=dark] .home.city-picker{background:#000;color:#f5f5f5}
.city-wordmark{font-size:23px;letter-spacing:.24em;flex:none;line-height:1.2;margin:0 3px}
.city-intro{margin:54px 5px 28px;flex:none}.city-intro h1{font-size:44px;line-height:1.08;letter-spacing:-1.5px;font-weight:400;margin:0 0 14px}.city-intro p{font-size:16px;line-height:1.5;margin:0;opacity:.72}
.city-card{position:relative;isolation:isolate;display:block;padding:0;width:100%;flex:1;min-height:240px;max-height:510px;border-radius:26px;overflow:hidden;text-align:left;background:#292929;color:white}
.city-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.city-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#000b 100%)}
.city-card-label{position:absolute;left:23px;bottom:25px;display:flex;flex-direction:column;gap:8px}.city-card-label strong{font-size:34px;font-weight:400;letter-spacing:-1px}.city-card-label>span{font-size:17px}
.city-card-arrow{position:absolute;right:20px;bottom:35px;width:52px;height:52px;border-radius:50%;background:#ffffff40;backdrop-filter:blur(15px);display:grid;place-items:center;font-size:33px;font-weight:300}
.city-credit{display:block;flex:none;font-size:10px;line-height:1.4;opacity:.6;margin:10px 5px 0;text-decoration:none}
html[data-surface=home],html[data-surface=home] body{background:#fff}html[data-theme=dark][data-surface=home],html[data-theme=dark][data-surface=home] body{background:#000}
@media(max-height:740px){.city-intro{margin-top:28px;margin-bottom:22px}.city-intro h1{font-size:36px}.home.city-picker{padding-top:calc(20px + env(safe-area-inset-top,0px))}.city-card{min-height:210px}}

/* Scrollable city deck: the next card remains visible below the first. */
.home.city-picker{overflow:hidden;padding-bottom:0}
.city-wordmark{height:40px;display:flex;align-items:center}.city-logo{width:96px;height:96px;object-fit:contain;filter:invert(1);margin-left:-15px}
:root[data-theme=dark] .city-logo{filter:none}
.city-intro{margin-top:25px;margin-bottom:14px}.city-intro h1{font-size:38px}
.city-scroll-hint{display:flex;justify-content:space-between;align-items:center;flex:none;font-size:12px;opacity:.65;margin:0 5px 16px}.city-scroll-hint span{font-size:20px}
.city-deck{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-snap-type:y proximity;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));display:block}
.city-deck .city-card{height:clamp(250px,48dvh,470px);min-height:0;max-height:none;flex:none;scroll-snap-align:start;margin-bottom:16px}
.city-deck .city-credit{margin:-9px 5px 16px}
.city-wip{background:linear-gradient(145deg,#48535b,#1c2228);border:1px solid #ffffff22}
.city-wip.city-tone-1{background:linear-gradient(145deg,#796c60,#302925)}.city-wip.city-tone-2{background:linear-gradient(145deg,#576b67,#202c2c)}.city-wip.city-tone-3{background:linear-gradient(145deg,#696775,#292932)}
.city-wip-number{position:absolute;right:24px;top:16px;font-size:100px;line-height:1.1;font-weight:200;letter-spacing:-8px;color:#ffffff18}
@media(max-height:650px){.city-intro{margin-top:12px}.city-intro h1{font-size:29px;margin-bottom:7px}.city-intro p{font-size:13px}.city-deck .city-card{height:240px}}
