/* Shared presentation for invite, registration, membership and WordPress login. */
* { box-sizing: border-box; }
body { margin: 0; padding: 22px; background: #f5f1e8; color: #2f332d; font: 15px/1.65 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif; }
body main { max-width: 680px; margin: 24px auto; padding: 28px; background: #fff; border-radius: 6px; overflow-wrap: anywhere; }
body h1 { margin: 0 0 18px; font-size: 26px; line-height: 1.4; }
body h2 { margin: 28px 0 10px; font-size: 20px; line-height: 1.45; }
body a { color: #4c5548; text-underline-offset: 3px; overflow-wrap: anywhere; }
.hl-form-brand { max-width: 680px; margin: 0 auto; padding: 10px 0; }
.hl-form-brand a { display: inline-block; margin: 0; color: #2f332d; text-decoration: none; font: 26px/1.2 Palatino,"Palatino Linotype",Georgia,serif; }
body :is(button,input[type="submit"],.button-primary) { min-height: 44px; max-width: 100%; padding: 10px 22px; border: 1px solid #6b7966; border-radius: 999px; background: #6b7966; color: #fff; font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.5; cursor: pointer; white-space: normal; }
body :is(button,input[type="submit"],.button-primary):hover { background: #4c5548; border-color: #4c5548; color: #fff; }
body :is(button,input[type="submit"]):disabled { opacity: .55; cursor: default; }
body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,select) { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #8f9a86; border-radius: 6px; background: #fff; color: #2f332d; font: inherit; }
body input:is([type="checkbox"],[type="radio"]) { accent-color: #4c5548; }
body label { line-height: 1.7; }
body :is(button,a,input,textarea,select):focus-visible { outline: 2px solid #8d7248; outline-offset: 3px; }
body :is(.notice,#terms,.pending) { padding: 14px 16px; background: #f5f1e8; border-left: 2px solid #8d7248; }
body :is(small,.tag) { color: #687164; }
body dd { margin-left: 0; overflow-wrap: anywhere; }
body pre { white-space: pre-wrap; overflow-wrap: anywhere; }
body [hidden] { display: none !important; }
/* Anonymous service procedures share the palette, without changing login forms. */
body.hl-service-form { color-scheme: light; }
.hl-service-form main { border: 1px solid #d9ddd5; }
.hl-service-form label { display: block; margin: 22px 0; font-weight: 500; }
.hl-service-form label :is(input,textarea,select) { display: block; margin-top: 8px; font-weight: 400; }
.hl-service-form textarea { min-height: 128px; resize: vertical; }
.hl-service-form :is([role="alert"],.warning) { padding: 16px; background: #f5f1e8; border-left: 3px solid #8d7248; font-size: 14px; }
.hl-service-form main>nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0; padding-bottom: 20px; border-bottom: 1px solid #d9ddd5; }
.hl-service-form main>nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid #d9ddd5; border-radius: 999px; text-decoration: none; }
.hl-service-form main>nav a[aria-current="page"] { background: #6b7966; border-color: #6b7966; color: #fff; }
.hl-service-form dt { margin-top: 18px; color: #687164; font-size: 14px; }
.hl-service-form dd { margin: 4px 0 16px; padding-bottom: 12px; border-bottom: 1px solid #d9ddd5; }
.hl-service-form pre { padding: 16px; background: #f5f1e8; font: inherit; }
.hl-service-form form>button { margin-top: 8px; }
body.login #login { width: min(100%,400px); padding-top: 24px; }
body.login #login h1 a { background: none; text-indent: 0; width: auto; height: auto; margin: 0 auto 24px; color: #2f332d; font: 28px/1.3 Palatino,Georgia,serif; }
body.login #loginform,body.login #lostpasswordform,body.login #resetpassform { border: 1px solid #d9ddd5; border-radius: 6px; box-shadow: none; padding: 24px; }
body.login .wp-pwd .wp-hide-pw { background: transparent; color: #4c5548; border: 0; min-height: 40px; padding: 0; border-radius: 0; }
body.login .wp-pwd input { padding-right: 44px; }
@media (max-width: 600px) {
  body { padding: 16px; }
  body main { margin: 14px auto; padding: 22px 18px; }
  body h1 { font-size: 24px; }
  body :is(input,textarea,select) { font-size: 16px; }
  .hl-form-brand a { font-size: 24px; }
  .hl-service-form form>button { width: 100%; }
  body.hl-service-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,select) { font-size: 16px; }
}
