/* Platform layer · pages rendered by js/platform (sign-in, account states). Paper, ink, Bodoni + Manrope. */
.eh-auth{min-height:calc(100svh - 56px);display:flex;flex-direction:column;justify-content:center;padding:28px 24px 56px}
.eh-auth-card{width:100%;max-width:400px;margin:0 auto}
.eh-auth-card h1{font:400 clamp(44px,8vw,64px)/1.02 var(--j-serif);letter-spacing:-.04em;margin:0 0 12px}
.eh-auth-card h1 em{font-style:italic;color:var(--j-mood)}
.eh-auth-lead{font-size:14px;line-height:1.65;color:var(--j-muted);max-width:34em}
.eh-provider{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;width:100%;border:1px solid var(--j-ink);background:#fff;font-size:13px;font-weight:600;cursor:pointer}
.eh-provider iconify-icon{width:18px;height:18px;font-size:18px}
.eh-provider[hidden]{display:none}
.eh-auth-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.eh-auth-actions .j-button{min-height:52px;font-size:13px;justify-content:center}
.eh-auth-home{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:22px;width:100%;font-size:13px;color:var(--j-muted)}
.eh-auth-home iconify-icon{width:14px;height:14px;font-size:14px}
.eh-auth-status{font-size:13px;line-height:1.7;margin:16px 0 0;color:var(--j-ink)}
.eh-auth-status:empty{display:none}
.eh-auth-status[data-kind=error]{color:#a1504f}
.eh-auth-status strong{font-weight:600}
.eh-auth-status[data-kind=notice]{color:var(--j-ink)}
.eh-auth-notice{display:flex;flex-direction:column;gap:8px;padding:16px 16px 14px;background:#f4efe6;border-left:2px solid var(--j-mood,#c96f5a);font-size:13px;line-height:1.7}
.eh-auth-notice strong{display:block;font:400 22px/1.15 var(--j-serif);letter-spacing:-.02em}
.eh-auth-notice>span{color:#5b564f}
@media(min-width:701px){.eh-auth{padding:40px 40px 72px}}

/* Feature gates (js/platform/features.js). One attribute per module: the route guard turns
   the module off, and these hide every way into it so nothing offers what will refuse. */
html[data-social=off] #j-activity-header,html[data-social=off] a[href="#friends"],html[data-social=off] a[href="#activity"],html[data-social=off] [data-jw="friends"],html[data-social=off] [data-jw="tab"][data-tab="friends"],html[data-social=off] [data-jd="advice"],html[data-social=off] [data-action="ask-friends"],html[data-social=off] [data-action="share-concept"],html[data-social=off] .j-invite-banner{display:none!important}
html[data-invites=off] a[href="#invite"],html[data-invites=off] [data-action="invite"],html[data-invites=off] .j-invite-banner{display:none!important}
html[data-wardrobe=off] a[href="#wardrobe"],html[data-wardrobe=off] [data-action="wardrobe"],html[data-wardrobe=off] [data-jd="wardrobe"],html[data-wardrobe=off] [data-edit-wardrobe]{display:none!important}

/* The person's name inside titles: same face as the surrounding text, never translated. */
.eh-name{font:inherit;white-space:nowrap}

/* 2026-09-16 (audit): the create-account page's city results flowed inline, two cities to a
   line ("Par, Van, Republic of Türkiye   Pār, India"); the same list as the welcome sheet —
   one city a row, 44px each. */
.eh-auth .eh-city-results{display:grid;margin-top:-1px;border:1px solid #dad3c7;border-top:0;background:#fff}
.eh-auth .eh-city-results:empty{display:none}
.eh-auth .eh-city-results .j-note{margin:0;padding:10px 12px}
.eh-auth .eh-city-option{display:block;width:100%;min-height:44px;text-align:left;border:0;border-top:1px solid var(--j-line,#e7e1d8);background:none;padding:10px 12px;font:inherit;font-size:12px;color:var(--j-ink,#232324);cursor:pointer}
.eh-auth .eh-city-option:first-child{border-top:0}
.eh-auth .eh-city-option:hover,.eh-auth .eh-city-option:focus-visible{background:#f2efe8;outline:none}
