/* Shared website and installed-app readability, 2026-11-02. */
body{font-size:17px;line-height:1.6;overflow-wrap:anywhere}
header{padding:14px clamp(16px,2.5vw,40px);flex-wrap:wrap}
nav{flex-wrap:wrap;gap:12px}
.container{width:100%;max-width:none;margin:24px 0 40px;padding:0 clamp(16px,2.5vw,40px)}
.hero{gap:clamp(24px,5vw,80px)}
.lead{font-size:18px;max-width:65ch}
h3{font-size:19px}
.eyebrow{font-size:13px;letter-spacing:1.4px}
label,.fieldset legend,.radio,nav>a{font-size:16px}
input,select,textarea{font-size:17px;min-width:0;max-width:100%;min-height:46px}
small,.hint,.features p,.legal p,.notice,.badge,.profile dt,.memberinfo dt{font-size:15px}
.journey li{font-size:17px}.journey small{font-size:15px}
.memberinfo dd{font-size:17px}
.account summary,.menu a,.menu button,.menu span,.memberactions button{font-size:16px}
.account summary,.menu a,.menu button,.btn{min-height:46px}
.account[open] .menu{top:calc(100% + 6px);max-width:calc(100vw - 32px);min-width:min(280px,calc(100vw - 32px))}
.menu a,.menu button,.menu span{white-space:normal}
.container>.card.formcard{width:100%;max-width:none!important;margin:0;background:transparent;border:0;border-radius:0;padding:0}
.container>.card.formcard.narrow{max-width:640px!important}
.formcard form,.formcard>.tabs,.formcard>p{max-width:900px}
.formcard p[style*="font-size:13px"]{font-size:15px!important}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid>*,.hero>*,.features>*{min-width:0}
.legal{max-width:90ch}.legal h2{font-size:20px}
.footer{padding:24px clamp(16px,2.5vw,40px);font-size:14px;flex-wrap:wrap}
.leaflet-popup-content,.leaflet-popup-content p{font-size:16px;line-height:1.5}
.leaflet-control button{font-size:16px}
.install-page{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:24px clamp(16px,3vw,48px);font-size:18px}
.install-page p{max-width:75ch}.install-page h1{font-size:clamp(30px,4vw,40px)}
@media(max-width:740px){
 header{padding:12px 16px;gap:12px}header nav{width:100%;justify-content:space-between;gap:10px}
 .account summary{font-size:16px;padding:10px 12px}
 .member-pages[open] .menu{left:0;right:auto}
 .container{padding:0 16px;margin-top:20px}
 .grid{grid-template-columns:1fr}.full{grid-column:auto}
 .card{padding:16px}.journey{padding:24px}
 .adminhead,.memberhead{flex-wrap:wrap}
 .badge{white-space:normal}
 .formcard h1{font-size:32px!important;letter-spacing:-.6px}
 .actions{gap:12px}.actions .btn{max-width:100%;white-space:normal}
 .tabs{gap:24px}.install-page{padding:20px 16px}
}
