:root{color-scheme:light;--ink:#34393f;--muted:#6b7178;--line:#e9ecef;--focus:#546777}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
main{width:min(100% - 40px,520px);margin:64px auto 80px}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:#12171d}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:5px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:36px}
.brand .pennant{width:60px;height:auto}
.brand-wordmark{width:130px;height:auto}
h1{font-size:clamp(28px,5vw,36px);font-weight:550;line-height:1.18;letter-spacing:-.035em;margin:0 0 20px}
h2{font-size:21px;font-weight:550;line-height:1.3;letter-spacing:-.02em;margin-top:32px}
p{margin:0 0 20px}
.muted,.helptext,small{color:var(--muted)}
small,.helptext{font-size:13px}
.links{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:28px 0}
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#34393f;color:#fff;border:1px solid #34393f;border-radius:12px;padding:12px 22px;font:inherit;font-weight:550;text-decoration:none;cursor:pointer}
.button:hover,button:hover{background:#20252a;color:#fff}
.button.secondary{background:#fff;color:var(--ink);border-color:#d9dde1}
label{display:block;margin:22px 0 8px;font-size:14px;font-weight:550}
input{width:100%;padding:14px 16px;border:1px solid #d6dbe0;border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
input[type=checkbox]{width:auto;accent-color:#34393f}
form button{margin-top:16px}
form p{margin-bottom:12px}
form ul{padding-left:20px;font-size:13px;color:var(--muted)}
ul.errorlist{padding:14px 18px 14px 34px;background:#fff6f5;color:#913d32;border-radius:12px;font-size:14px}
[role=status]{padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.explanations{border-top:1px solid var(--line);margin-top:36px}
details{border-bottom:1px solid var(--line)}
summary{position:relative;list-style:none;padding:18px 28px 18px 0;cursor:pointer;font-size:14px;font-weight:550}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:4px;top:14px;font-size:22px;font-weight:350;color:var(--muted)}
details[open]>summary:after{content:"−"}
details p,details ul{font-size:14px;color:var(--muted);margin:0 0 18px}
.connections{list-style:none;padding:0}
.connections li{padding:16px 0;border-bottom:1px solid var(--line)}
.home-page main{width:min(100% - 40px,960px);margin:clamp(40px,7vh,80px) auto 40px;text-align:center}
.sanctuary-heading{display:flex;align-items:center;justify-content:center;gap:24px;width:min(100%,664px);margin:0 auto 18px}
.sanctuary-mark{display:block;flex:0 0 140px;width:140px;height:auto}
.home-page h1{flex:1;min-width:0;margin:0;line-height:0}
.sanctuary-wordmark{display:block;width:100%;height:auto}
.sanctuary-motto{font-size:clamp(15px,2.2vw,19px);font-weight:400;letter-spacing:.015em;color:#6b7178;max-width:500px;margin:0 auto;line-height:1.7;text-wrap:balance}
.directory-list{list-style:none;padding:0}
.directory-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.directory-list a{display:block;font-weight:550}
.directory-list span{font-size:13px;color:var(--muted)}
.authenticator-qr svg{display:block;width:min(100%,240px);height:auto;margin:20px auto}
.authenticator-key{overflow-wrap:anywhere;user-select:all}
@media(max-width:540px){main{margin-top:32px}.brand{margin-bottom:30px}.home-page main{margin-top:54px}.sanctuary-heading{gap:12px}.sanctuary-mark{flex-basis:72px;width:72px}}
