:root{color-scheme:dark;--bg:#110C09;--surface:#1E1712;--border:#3B3027;--text:#F6EDE2;--muted:#B8AAA0;--accent:#F2A65A;--verified:#52A66C;--danger:#DF8B7C;--preview-bottom-inset:0px;font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}html,body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text)}body{font:400 14px/1.5 Manrope,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}img{max-width:100%}svg{width:24px;height:24px;flex-shrink:0}p{margin:8px 0}h1,h2,h3{margin:0 0 12px;line-height:1.35;font-weight:600;letter-spacing:-.025em}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}small{font-size:12px}label,summary{font-size:14px}strong,b{font-weight:600}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.muted,.lede,.form-note,.status-note,.project-city,.architect-location{color:var(--muted)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.eyebrow{display:none!important}.site{width:100%;max-width:540px;margin:0 auto;min-height:100dvh;padding:0;background:var(--bg)}
.site-header{position:sticky;top:0;z-index:30;background:var(--bg);border:0;backdrop-filter:none}.header-main{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.wordmark{height:44px;display:flex;align-items:center;font-size:22px;font-weight:800;letter-spacing:-.055em}.wordmark-long{display:none}.wordmark-short{display:block}.wordmark-short>span{color:var(--accent)}.header-actions{display:flex;gap:4px}.header-icon,.icon-button,.info-button,.map-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--text);padding:10px}.header-plus{border-radius:50%}.primary-tabs{height:44px;display:flex;overflow-x:auto;gap:0;padding:0 4px;border-bottom:1px solid var(--border);scrollbar-width:none}.primary-tabs::-webkit-scrollbar{display:none}.primary-tabs a{position:relative;display:flex;align-items:center;justify-content:center;height:44px;min-width:44px;flex:1 0 auto;padding:0 8px;font-size:14px;font-weight:500;white-space:nowrap;color:var(--muted)}.primary-tabs a.active{color:var(--text)}.primary-tabs a.active:after{content:'';position:absolute;height:2px;bottom:0;left:8px;right:8px;background:var(--accent)}.primary-tabs .tab-accent{color:var(--accent)}
.main-content{padding:0 0 calc(96px + env(safe-area-inset-bottom) + var(--preview-bottom-inset));margin:0}.screen{padding:16px 12px 0;min-width:0}.screen-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.screen-heading h1{font-size:22px;font-weight:600;margin:0}.back-link,.quiet-link{color:var(--accent);display:inline-flex;align-items:center;min-height:44px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#211208;font-size:15px;font-weight:600;line-height:1.4}.button-quiet,.button-secondary{background:transparent;color:var(--text);border-color:var(--border)}.button-small{min-height:44px;font-size:14px}.button-block{display:flex;width:100%}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;font-size:14px;color:var(--text)}input:not([type=hidden]):not([type=radio]):not([type=checkbox]),textarea,select{width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:#17110D;color:var(--text);font-size:16px;line-height:1.35}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr;gap:0 12px}.form-note{font-size:12px}.flash-stack{padding:12px}.flash{padding:10px 12px;border-radius:8px;margin:0 0 8px;font-size:14px;background:var(--surface)}.flash-error{color:var(--danger)}.flash-notice{color:var(--accent)}
.project-feed,.project-grid{display:block;padding:0;margin:0;column-count:1}.project-card{display:block;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;break-inside:auto;transform:none}.post-header{height:56px;padding:0 12px;display:flex;align-items:center;gap:8px}.post-header .mini-avatar,.post-header .avatar{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#5D3D29;font-size:14px;font-weight:500;overflow:hidden}.post-header .mini-avatar img{width:36px;height:36px;object-fit:cover}.post-identity{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.post-identity .project-studio,.post-identity .studio-name{margin:0;font-size:15px;font-weight:500;line-height:20px;display:flex;align-items:center;gap:5px}.post-identity .project-city{margin:0;font-size:13px;line-height:18px}.sample-mark,.sample-label,.sample-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:500;color:var(--muted);background:none;border:0;padding:0}.project-media{position:relative;aspect-ratio:4/5;width:100%;overflow:hidden;border:0;border-radius:0;background:#211A15}.project-media img{display:block;width:100%;height:100%;object-fit:cover}.project-media .project-stage{display:none}.project-media-empty{display:flex;align-items:center;justify-content:center}.media-initials{font-size:22px;color:var(--muted)}.project-open-link{display:block}.post-actions{height:48px;padding:0 12px;display:flex;align-items:center;gap:12px}.post-actions button,.post-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0;background:none;border:0;color:var(--text);font-size:14px}.post-actions [data-feed-save]{margin-left:auto}.post-actions .is-locked{color:var(--accent)}.project-copy{padding:0 12px}.project-copy h2{font-size:15px;font-weight:600;margin:0 0 4px}.project-description{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 8px}.meet-architect{height:44px;min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:500;border:0;color:var(--text)}.meet-architect:after{content:'›';font-size:24px;color:var(--muted)}.discover-note{margin:0 12px 16px;padding:12px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:10px;background:var(--surface)}.discover-note p{font-size:15px;font-weight:500;margin:0;flex:1}.discover-note .button{font-size:14px}.empty-state{padding:24px 12px;color:var(--muted)}.empty-state h2{font-size:18px;color:var(--text)}.verified,.verified-badge{color:var(--verified);font-size:14px}.project-studio .verified{font-size:14px}
.bottom-nav{position:fixed;z-index:40;left:50%;bottom:calc(12px + env(safe-area-inset-bottom) + var(--preview-bottom-inset));transform:translateX(-50%);height:56px;width:248px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:#1D1611;box-shadow:0 4px 18px #0005;transition:width .22s cubic-bezier(.22,1,.36,1),padding .22s ease,opacity .18s ease}.bottom-nav a{height:54px;min-width:44px;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:0 8px;flex:1}.bottom-nav a.active{color:var(--accent)}.bottom-nav small{display:none}.bottom-nav.is-folded{width:56px;padding:0}.bottom-nav.is-folded a:not(:first-child){display:none}.bottom-nav.is-folded a:first-child{width:56px;flex:1;color:var(--accent)}.viewer-open .bottom-nav,.ui-sheet-open .bottom-nav,.keyboard-open .bottom-nav{opacity:0;visibility:hidden;pointer-events:none}
.viewer-backdrop,.ui-sheet-backdrop{position:fixed;inset:0;z-index:80;background:#0008;display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .22s ease}.viewer-backdrop.is-open,.ui-sheet-backdrop.is-open{opacity:1}.viewer-sheet,.ui-sheet{width:100%;max-width:540px;max-height:88dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:18px 18px 0 0;padding:0 0 calc(24px + env(safe-area-inset-bottom) + var(--preview-bottom-inset));transform:translateY(100%);transition:transform .3s cubic-bezier(.22,1,.36,1);overscroll-behavior:contain}.is-open>.viewer-sheet,.is-open>.ui-sheet{transform:translateY(0)}.ui-sheet{padding:20px 16px calc(24px + env(safe-area-inset-bottom) + var(--preview-bottom-inset));max-height:80dvh}.ui-sheet h2{font-size:22px;font-weight:600;padding-right:44px}.ui-sheet p{font-size:14px;color:var(--muted);line-height:1.6}.ui-sheet [data-close-sheet]{position:absolute;right:6px;top:6px;width:44px;height:44px;background:none;border:0;color:var(--text)}.sheet-actions{display:flex;gap:12px;margin-top:20px}.sheet-actions>*{flex:1}.ui-sheet-open,.viewer-open{overflow:hidden}.info-button{border:1px solid var(--border);border-radius:50%;width:44px;height:44px;font-size:15px;font-weight:500;padding:0}.viewer-topbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.viewer-handle{flex:1;min-height:44px;border:0;background:none}.viewer-handle span{display:block;width:36px;height:4px;border-radius:99px;background:var(--border);margin:auto}.viewer-close{width:44px;height:44px;border:0;background:none;color:var(--text)}.viewer-image{width:100%;aspect-ratio:4/5;overflow:hidden;background:#211A15}.viewer-image img{width:100%;height:100%;object-fit:cover}.viewer-body{padding:12px}.viewer-body h2{font-size:22px;font-weight:600;margin:0 0 4px}.viewer-city{font-size:13px;color:var(--muted)}.viewer-description{font-size:14px;line-height:1.6}.viewer-vote-row,.viewer-counts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vote-button,.save-button{min-height:44px;min-width:44px;background:none;color:var(--text);border:1px solid var(--border);padding:8px;border-radius:8px;display:flex;align-items:center;gap:6px;font-size:14px}.vote-button:disabled{opacity:.65}.vote-lock svg{width:16px;height:16px}.viewer-counts>span{display:flex;gap:5px;align-items:center;font-size:14px}.viewer-counts small{font-size:12px}.viewer-status{font-size:14px;color:var(--muted)}.viewer-paths{display:flex;align-items:center;justify-content:space-between}.viewer-studio.meet-architect{padding:0}.viewer-vote-note{font-size:12px}.project-detail-page{padding:0}.project-detail-page>.back-link{margin-left:12px}.project-detail-hero{width:100%;aspect-ratio:4/5;background:#211A15;margin:0;overflow:hidden;border-radius:0}.project-detail-hero img{display:block;width:100%;height:100%;object-fit:cover}.project-detail-layout{padding:12px;display:block}.project-detail-layout h1{font-size:22px;font-weight:600}.project-story{font-size:14px;color:var(--muted);white-space:pre-line}.project-facts{display:flex;flex-wrap:wrap;gap:16px;font-size:14px}.project-facts dt{color:var(--muted);font-size:13px}.project-facts dd{margin:0}.project-detail-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.project-detail-counts{display:flex;gap:20px;font-size:14px}.project-detail-counts b{font-size:14px}.project-community-panel{margin-top:16px}
.leader-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px}.city-picker{position:relative;flex:1;min-width:0}.city-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--surface);cursor:pointer}.city-picker>summary::-webkit-details-marker{display:none}.city-picker-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;min-width:230px;max-height:55dvh;overflow:auto;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px #0006}.city-picker-menu input{margin-bottom:8px}.city-picker-menu a{display:flex;align-items:center;min-height:44px;padding:8px 6px;font-size:14px}.city-picker-menu a:hover{color:var(--accent)}.leaderboard-list,.leader-rows{list-style:none;margin:0;padding:0}.leader-row{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 0;border-bottom:1px solid var(--border)}.leader-rank,.rank{width:22px;flex-shrink:0;text-align:center;font-size:14px}.leader-avatar,.leader-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#35271D;display:flex;align-items:center;justify-content:center}.leader-row a,.leader-row .leader-person,.leader-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.leader-row strong{font-size:15px;font-weight:500}.leader-row small{display:block;font-size:13px;color:var(--muted)}.leader-name{min-width:0;flex:1}.leader-score{margin-left:auto;text-align:right;font-size:14px;font-weight:500}.leader-score small{font-size:12px}.unlock-card{padding:16px;margin-top:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.unlock-card h2{font-size:18px}.unlock-card p{font-size:14px;color:var(--muted)}
.directory-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.directory-search{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;border:1px solid var(--border);border-radius:10px;padding:0 12px}.directory-search input{background:none;border:0;padding:10px 0;flex:1;min-width:0}.directory-pills,.filter-chips{display:flex;gap:6px;flex:1}.directory-pills button,.filter-chips button{min-height:44px;min-width:44px;background:none;border:1px solid var(--border);border-radius:99px;padding:8px 12px;font-size:14px;color:var(--muted)}.directory-pills button.active,.filter-chips button.active{color:#211208;background:var(--accent);border-color:var(--accent)}.filters-button{min-height:44px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:none;color:var(--text)}.directory-grid{display:block}.architect-card{display:block;width:100%;background:none;border:0;border-radius:0;margin-bottom:20px;overflow:hidden}.architect-cover{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#211A15;border-radius:0}.architect-cover img{display:block;width:100%;height:100%;object-fit:cover}.architect-card-info{padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.architect-card-info h2{font-size:15px;font-weight:500;margin:0}.architect-location{font-size:13px;margin:2px 0 0}.architect-metrics{font-size:14px}.directory-count{font-size:12px;color:var(--muted);margin:0 0 12px}.architect-profile{padding:0}.profile-cover{width:100%;aspect-ratio:4/3;overflow:hidden;position:relative;border:0;background:#211A15}.profile-cover img{width:100%;height:100%;object-fit:cover}.profile-details,.profile-body,.profile-identity,.profile-intro{padding:12px}.profile-name-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-name-row h1{font-size:22px}.profile-avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#5D3D29;font-size:18px;font-weight:600}.profile-location,.profile-role{font-size:13px;color:var(--muted)}.profile-bio{font-size:14px;color:var(--muted)}.profile-tags,.architect-tags{display:flex;flex-wrap:wrap;gap:6px}.profile-tags span,.architect-tags span{font-size:12px;color:var(--muted);border:1px solid var(--border);border-radius:99px;padding:5px 9px}.enquiry-panel{margin:16px 12px}.profile-enquiry-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:15px}.section-heading{padding:0 12px}.section-heading h2{font-size:18px}
.signup-page .auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tabs button{min-height:44px;flex:1;border:1px solid var(--border);border-radius:10px;background:none;color:var(--muted);font-size:14px}.auth-tabs button.active{border-color:var(--accent);color:var(--accent)}.google-button,.google-signup{display:flex;width:100%;min-height:44px;background:var(--accent);color:#211208;border:0;border-radius:10px;align-items:center;justify-content:center;font-size:15px;font-weight:600}.auth-divider{text-align:center;color:var(--muted);font-size:14px;margin:16px 0}.signup-form,.onboard-form,.login-form{background:none;border:0;padding:0}.role-options,.role-choices{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.role-option,.role-choice,.role-card{display:flex;align-items:center;gap:8px;min-height:44px;flex:1 1 auto;padding:9px 10px;background:none;border:1px solid var(--border);border-radius:10px;font-size:14px;cursor:pointer}.role-option:has(:checked),.role-choice:has(:checked),.role-card:has(:checked){border-color:var(--accent);color:var(--accent)}.role-symbol,.role-desc{display:none}.terms-link{display:flex;align-items:center;justify-content:center;min-height:44px;color:var(--muted);font-size:12px}.account-status{font-size:14px;color:var(--muted);margin-bottom:12px}.account-details>summary{min-height:44px;display:flex;align-items:center}.account-details form{margin-top:16px}.profile-dashboard,.profile-main,.profile-side{display:block}.profile-project-row{display:flex;gap:12px;align-items:center;min-height:72px}.profile-project-row img{width:56px;height:56px;object-fit:cover;border-radius:8px}.profile-project-row small{display:block;font-size:13px;color:var(--muted)}.simple-list>a{display:flex;flex-direction:column;justify-content:center;min-height:60px;border-bottom:1px solid var(--border)}.inbox-item{border-bottom:1px solid var(--border);padding:12px 0}.inbox-item small{display:block;font-size:13px;color:var(--muted)}.inbox-item p{font-size:14px}.count-pill,.status-pill{font-size:12px;color:var(--muted)}.plan-grid,.profile-dashboard,.admin-grid{display:grid;grid-template-columns:1fr;gap:16px}.plan-card h2{font-size:22px}.plan-card small{font-size:14px;color:var(--muted)}dl>div{margin:8px 0}dt{font-size:13px;color:var(--muted)}dd{margin:0;font-size:14px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:10px;text-align:left;border-bottom:1px solid var(--border)}.admin-page details{margin-bottom:16px}.admin-page summary{min-height:44px;cursor:pointer}.admin-section{overflow-x:auto}.check-field{min-height:44px;display:flex;align-items:center;gap:8px}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.filter-row{display:flex;gap:10px;align-items:center}.status-note{font-size:14px}.project-community-panel .form-note{font-size:12px}.empty-state .button{color:#211208}.ui-sheet .button-quiet{color:var(--text)}
@media(min-width:701px){.site-header{max-width:540px}.screen{padding-top:20px}.bottom-nav{max-width:248px}.ui-sheet,.viewer-sheet{border-radius:18px 18px 0 0}.project-media{aspect-ratio:4/5}.form-grid.two{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:700px){html{scroll-padding-top:108px;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom) + var(--preview-bottom-inset))}}

/* Shared component contracts restored from the original Umber reference. */
body[data-page=map] .site-header{display:none}body[data-page=map] .main-content{padding:0}.map-page .map-list[data-map-sheet]{--map-sheet-max-height:max(72px,calc(40dvh - 192px));bottom:calc(88px + env(safe-area-inset-bottom) + var(--map-preview-bottom-inset,0px))}.map-page.map-sheet-expanded .map-attribution{bottom:calc(100px + env(safe-area-inset-bottom) + var(--map-preview-bottom-inset,0px) + var(--map-sheet-max-height))}.map-page.map-sheet-expanded .map-sample-note{bottom:calc(148px + env(safe-area-inset-bottom) + var(--map-preview-bottom-inset,0px) + var(--map-sheet-max-height))}.map-page .map-list[data-map-sheet].is-collapsed{height:72px;max-height:72px}@media(max-width:700px){.map-page .map-list[data-map-sheet]{bottom:calc(88px + env(safe-area-inset-bottom) + var(--map-preview-bottom-inset,0px))}.map-page .map-attribution{bottom:calc(96px + env(safe-area-inset-bottom) + var(--map-preview-bottom-inset,0px))}.map-page .map-sample-note{bottom:calc(142px + env(safe-area-inset-bottom) + var(--map-preview-bottom-inset,0px))}}
.wordmark-short{font-family:Manrope,sans-serif;font-size:22px;line-height:1;font-weight:800;letter-spacing:-.055em}.header-icon{border-radius:50%;position:relative}.header-icon:before{content:'';position:absolute;inset:0;border-radius:inherit}.site.is-scrolled .wordmark-short{font-size:20px}.project-feed,.home-page,.project-grid,.studio-grid,.architect-grid{min-width:0}.post-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;overflow:hidden;border-radius:50%;background:#5D3D29;color:var(--text);font-size:14px;font-weight:500}.post-avatar img{display:block;width:100%;height:100%;object-fit:cover}.post-identity{min-width:0;overflow:hidden}.post-identity a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-identity .project-city{margin:0}.post-actions .post-votes{display:flex;align-items:center;gap:5px}.post-votes button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:none;color:var(--text)}.post-votes svg,.post-actions svg{width:24px;height:24px}.post-votes span{min-width:18px;font-size:14px;color:var(--muted)}.feed-save-button{margin-left:auto;width:44px;height:44px;border:0;background:none;color:var(--text);padding:10px}.sample-mark,.sample-label,.sample-tag{position:absolute;z-index:2;top:10px;left:10px;min-height:28px;padding:4px 9px;border:1px solid #F2A65A66;border-radius:999px;background:#110C09d9;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:0}.sample-mark{position:absolute}.sample-label{position:static}.sample-tag{position:static}.feed-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 12px 16px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.feed-intro p{flex:1;margin:0;font-size:14px;line-height:1.4}.feed-intro-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;background:var(--accent);color:#211208;font-size:14px;font-weight:600}.project-card[hidden]{display:none!important}
.directory-tools .directory-search{flex:1;min-width:0}.directory-type-pills{display:flex;align-items:center;gap:8px;margin:0 0 12px}.directory-type-pills .type-pill{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:500}.directory-type-pills .type-pill.active,.directory-type-pills .type-pill[aria-pressed=true]{border-color:var(--accent);background:#F2A65A;color:#211208}.directory-filter-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;color:var(--muted);font-size:14px}.directory-filter-row .button{background:transparent;border-color:var(--border);color:var(--text)}.directory-filter-row [data-open-sheet]{min-width:44px;min-height:44px}.ui-sheet-close,.ui-sheet [data-close-sheet]{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:none;color:var(--text);font-size:21px}.ui-sheet .sort-control{display:flex;flex-direction:column;gap:6px;margin:12px 0}.ui-sheet .sort-control select{font-size:16px}.directory-page .empty-directory{padding:24px 0}.directory-single-column .studio-cover,.directory-single-column .architect-cover{aspect-ratio:4/3}.directory-single-column .studio-card-body,.directory-single-column .architect-card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:10px 0}.directory-single-column .architect-name-line,.directory-single-column h2{min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:500}.directory-single-column .architect-location,.directory-single-column .studio-score{margin:0;font-size:14px}.directory-single-column .sample-label{grid-column:1/-1;justify-self:start}.directory-map-link{width:44px;height:44px}.leaderboard-info-trigger,.info-trigger,.info-button,.profile-info-trigger,.directory-info-trigger,.map-info-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--accent);font-size:16px;font-weight:600}.leaderboard-info-trigger{flex:0 0 44px}.leaderboard-page .directory-tools{display:flex;gap:8px;align-items:center}.city-picker{flex:1;min-width:0}.city-picker>summary{min-height:44px;background:var(--surface);color:var(--text);font-size:14px}.city-picker-menu input[type=search]{min-height:44px;font-size:16px}.city-picker-menu a{font-size:14px}.leaderboard-panel,.leaderboard-layout .panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.leaderboard-layout .panel-heading{padding:0 0 8px}.leaderboard-layout .panel-heading h2{font-size:15px}.leaderboard-layout .leader-row,.leaderboard-layout .rank-row{min-height:68px;gap:8px;border-bottom:1px solid var(--border)}.leaderboard-layout .leader-name,.leaderboard-layout .rank-person{min-width:0;flex:1}.leaderboard-layout .rank-person strong,.leaderboard-layout .leader-row strong{display:block;font-size:14px;font-weight:500}.leaderboard-layout .rank-person small,.leaderboard-layout .leader-row small{font-size:13px;color:var(--muted)}.leaderboard-layout .rank-avatar,.leaderboard-layout .leader-avatar,.leaderboard-layout .rank-photo{width:40px;height:40px;flex:0 0 40px;object-fit:cover;border-radius:50%;background:#35271D}.leaderboard-layout .rank-number,.leaderboard-layout .leader-rank{width:20px;font-size:14px}.leaderboard-layout .rank-score,.leaderboard-layout .leader-score{flex:0 0 auto;font-size:14px;text-align:right}.leaderboard-layout .rank-score small,.leaderboard-layout .leader-score small{font-size:12px}.unlock-panel,.unlock-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.unlock-panel strong,.unlock-card strong{font-size:16px}.unlock-panel small,.unlock-card small{font-size:14px;color:var(--muted)}
.auth-card,.signup-page .auth-card,.add-project-page .project-form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.auth-grid{display:block}.auth-tabs{display:flex;gap:8px;margin:0 0 12px}.auth-tab{flex:1;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);font-size:14px}.auth-tab.active{border-color:var(--accent);color:var(--accent)}.oauth-button,.google-button,.google-signup{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:9px 14px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#211208;font-size:15px;font-weight:600}.or-divider{display:flex;align-items:center;gap:12px;justify-content:center;margin:12px 0;color:var(--muted);font-size:13px}.signup-page .field,.add-project-page .field,.profile-page .field,.admin-page .field{gap:6px;margin:0 0 12px;color:var(--muted);font-size:14px;font-weight:500}.signup-page input:not([type=hidden]),.add-project-page input:not([type=hidden]),.profile-page input:not([type=hidden]),.admin-page input:not([type=hidden]),.signup-page select,.add-project-page select,.profile-page select,.admin-page select,.profile-page textarea,.add-project-page textarea,.admin-page textarea{font-size:16px}.signup-page .role-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0;margin:12px 0 16px}.signup-page .role-choices legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.signup-page .role-option{min-height:44px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;font-size:14px}.signup-page .role-option:last-of-type{grid-column:1/-1}.signup-page .role-option input{width:18px;height:18px;flex:0 0 18px}.signup-page .role-option strong{font-size:14px;font-weight:500}.signup-page [data-role-fields][hidden]{display:none!important}.signup-page [data-coa-field][hidden]{display:none!important}.signed-in-note{padding:0 0 12px;margin-bottom:14px;border-bottom:1px solid var(--border)}.signed-in-note>p{font-size:14px}.signed-in-note form button{min-height:44px;padding:8px 0;border:0;background:none;color:var(--accent);font-size:14px}.terms-link,.signup-page .form-note{min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.terms-link a,.form-note a{color:var(--accent)}.screen .lede{margin:0;font-size:14px;line-height:1.45}.screen-heading,.page-title-row{min-height:44px;margin:0 0 12px}.screen-heading h1,.profile-page h1,.subscribe-page h1,.directory-page h1,.leaderboard-page h1,.add-project-page h1,.admin-page h1,.project-detail-page h1,.architect-profile-screen h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.3}.profile-cover{aspect-ratio:4/3;max-height:none;border-radius:0}.profile-cover img{width:100%;height:100%;object-fit:cover}.architect-profile-screen{padding:0 0 calc(96px + env(safe-area-inset-bottom) + var(--preview-bottom-inset))}.architect-profile-screen>.back-link{margin:0 12px;min-height:44px}.architect-profile-layout{display:flex;flex-direction:column;padding:0 12px}.architect-profile-main{min-width:0}.profile-identity{padding:12px 0}.profile-identity h1{overflow-wrap:anywhere}.profile-enquiry-link{min-height:44px;font-size:15px}.studio-about-details>summary{min-height:44px;display:flex;align-items:center;color:var(--accent);font-size:14px}.profile-bio{font-size:14px;line-height:1.5}.enquiry-card{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.enquiry-card h2{font-size:18px}.enquiry-card .enquiry-form label{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;color:var(--muted);font-size:14px}.enquiry-card .enquiry-form input,.enquiry-card .enquiry-form textarea{min-height:44px;padding:10px 12px;font-size:16px}.enquiry-card .primary-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:0;border-radius:10px;background:var(--accent);color:#211208;font-size:14px;font-weight:600}.map-list .map-studio-link,.architect-card,.project-card,.directory-type-pills button,.primary-tabs a,.bottom-nav a,.map-sheet-handle{touch-action:manipulation}
.ui-sheet-backdrop{z-index:90;padding-top:env(safe-area-inset-top)}.ui-sheet,.viewer-sheet{box-shadow:0 -8px 36px #0006}.ui-sheet{position:relative}.ui-sheet h2{margin:0 44px 12px 0;font-size:20px;line-height:1.3}.ui-sheet p{margin:8px 0;font-size:14px;line-height:1.5}.ui-sheet p:last-child{margin-bottom:0}.sheet-actions .button{min-height:44px}.app-toast{position:fixed;z-index:110;left:12px;right:12px;top:calc(108px + env(safe-area-inset-top));max-width:516px;margin:0 auto;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;box-shadow:0 8px 24px #0006}.project-media img,.project-detail-hero img,.architect-cover img,.profile-cover img{background:#211A15}.feed-intro-action:focus-visible,.post-votes button:focus-visible,.feed-save-button:focus-visible,.bottom-nav a:focus-visible,.primary-tabs a:focus-visible{outline-offset:-2px}
@media(min-width:701px){.main-content{width:540px;max-width:100%;margin:0 auto;padding-bottom:96px}.site{max-width:540px}.architect-profile-layout{display:block}.profile-dashboard{display:grid;grid-template-columns:1fr}.project-detail-layout{display:block}.bottom-nav{bottom:16px}.map-page.map-sheet-expanded .map-attribution{bottom:calc(100px + var(--map-sheet-max-height))}}
@media(prefers-reduced-motion:reduce){.bottom-nav,.viewer-sheet,.ui-sheet,.viewer-backdrop,.ui-sheet-backdrop{transition:none!important}}

/* Phone verification: keep map controls clear and every directory practice full-width. */
body[data-page="map"] .site-header,
body[data-page="map"] .primary-tabs {
  display: none !important;
}
body[data-page="architects"] .directory-single-column {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
}
.auth-tabs .auth-tab.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #211208;
}

/* Keep long project narratives in the linked detail view, not above the next phone post. */
@media (max-width:700px) {
  .home-page .project-description { display:none; }
}

@media (max-width:700px) {
  body.keyboard-open .bottom-nav {
    visibility:hidden;
    opacity:0;
    pointer-events:none;
  }
}

@media (min-width:701px) {
  body[data-page="leaderboard"] .leaderboard-layout {
    display:flex;
    width:100%;
    max-width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  body[data-page="leaderboard"] .leaderboard-layout > .leaderboard-panel,
  body[data-page="leaderboard"] .leaderboard-layout > .panel,
  body[data-page="leaderboard"] .leaderboard-layout > .rankings-panel {
    width:100%;
    max-width:none;
    box-sizing:border-box;
  }
}

/* public/app.js measures the embedded Preview toolbar; keep the fixed capsule above its inset. */
.bottom-nav {
  bottom: calc(17px + env(safe-area-inset-bottom, 0px) + var(--preview-bottom-inset, 0px)) !important;
}
