/* Mushimu authentication surfaces — aligned with the main brand. */
body{min-height:100vh;background:radial-gradient(circle at 50% -18%,rgba(244,122,96,.10),transparent 34%),#0C1117;color:#F4F7FA}
.topbar{background:rgba(12,17,23,.94);border-color:#2A3645}
.back{color:#9EABB8}.back:hover{color:#FFA087}
.auth-page{width:min(100%,710px);max-width:710px;margin:clamp(32px,6vw,68px) auto;padding-inline:20px}
.auth-page>h1{margin:10px 0 12px;font-size:clamp(36px,6vw,52px);line-height:1.05;letter-spacing:-.045em}
.auth-page>.eyebrow{color:#FFA087}
.auth-page>.feed-hint,.auth-page>p{color:#9EABB8}
.auth-page>.composer,.auth-page>.card{margin-top:24px;padding:30px 38px;background:#121923!important;border-color:#2A3645!important;box-shadow:0 24px 60px rgba(0,0,0,.28)!important}
.auth-page>.composer label{color:#F4F7FA}
.auth-page>.composer input{min-height:52px;background:#0C1117!important;color:#F4F7FA!important;border-color:#354454!important}
.auth-page>.composer input:hover{border-color:#485A6D!important}
.auth-page>.composer input:focus{outline:0!important;border-color:#F47A60!important;box-shadow:0 0 0 3px rgba(244,122,96,.14)!important}
.auth-page .primary{min-height:46px;padding-inline:22px;background:#F47A60;color:#0C1117;border-color:transparent;box-shadow:none;cursor:pointer}
.auth-page .primary:hover{background:#FF8D73}
.auth-page a:not(.primary){color:#FFA087}
.auth-page .form-error{border-color:rgba(229,72,77,.30)!important;background:rgba(229,72,77,.10)!important;color:#F2A0A4!important}
.auth-page .auth-notice,.auth-page p[role=status]{padding:14px 16px;border:1px solid rgba(120,151,166,.35)!important;border-radius:12px;background:rgba(62,107,127,.14)!important;color:#CDD5DE!important}
.auth-page .auth-check-email{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:12px;margin:22px 0 18px;padding:17px 18px;border:1px solid rgba(244,122,96,.4);border-left:4px solid #F47A60;border-radius:12px;background:rgba(244,122,96,.09);color:#F4F7FA;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.auth-check-email-icon{width:28px;height:28px;display:grid;place-items:center;color:#FFA087}
.auth-check-email-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-check-email strong{display:block;font-size:15px;line-height:1.35;color:#FFD8CF}
.auth-check-email p{margin:5px 0 0;color:#D4D9E1;font-size:13px;line-height:1.55}
.username-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-page .refresh-username{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 8px;border:1px solid #354454;border-radius:8px;background:#18212C;color:#9EABB8;text-decoration:none;white-space:nowrap}
.auth-page .refresh-username:hover{border-color:#485A6D;background:#202837;color:#F4F7FA;text-decoration:none}
.auth-page .refresh-username svg{width:16px;height:16px;flex:0 0 16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.oauth-entry{display:grid;gap:20px;margin:24px 0 0;padding-bottom:24px}
.google-auth-button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 18px;border:1px solid #46515D;border-radius:12px;background:#F4F7FA;color:#1F252B!important;font-size:16px;font-weight:700;line-height:1.2;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.google-auth-button:hover{border-color:#FFFFFF;background:#FFFFFF;transform:translateY(-1px)}
.google-auth-button:active{transform:translateY(0)}
.google-mark{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border:1px solid #D9DEE3;border-radius:50%;background:#FFFFFF;color:#4285F4;font-size:15px;font-weight:800;font-family:Arial,sans-serif}
.auth-divider{display:flex;align-items:center;gap:14px;color:#87939B;font-size:12px;text-align:center}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#2A3645}
.auth-divider span{max-width:70%;white-space:nowrap}
.google-auth-button:focus-visible,.auth-page .primary:focus-visible{outline:3px solid rgba(255,154,128,.48);outline-offset:3px}
.captcha-widget{display:flex;justify-content:center;margin:20px 0;min-height:65px}

@media(max-width:600px){
  .auth-page{margin:24px auto 48px;padding-inline:14px}
  .auth-page>h1{font-size:clamp(34px,11vw,44px)}
  .auth-page>.composer,.auth-page>.card{padding:22px 18px}
  .auth-page .auth-check-email{grid-template-columns:24px minmax(0,1fr);gap:10px;margin:20px 0 16px;padding:15px 13px}
  .auth-check-email-icon{width:24px;height:24px}
  .auth-check-email-icon svg{width:22px;height:22px}
  .auth-check-email strong{font-size:14px}
  .auth-page .composer-actions{align-items:stretch;flex-direction:column;gap:14px}
  .auth-page .composer-actions .primary{width:100%}
  .auth-page .composer-actions a{text-align:center}
  .auth-divider span{white-space:normal}
}

@media(prefers-reduced-motion:reduce){.google-auth-button{transition:none}}

.auth-optional{margin-top:20px;border-top:1px solid #2A3645;padding-top:8px}
.auth-optional>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#CDD5DE;cursor:pointer;list-style:none}
.auth-optional>summary::after{content:'+';font-size:22px;color:#FFA087}
.auth-optional[open]>summary::after{content:'−'}
.auth-optional>summary::-webkit-details-marker{display:none}
.auth-optional>summary:focus-visible{outline:2px solid #FFA087;outline-offset:3px;border-radius:6px}
.auth-optional-fields{display:flex;flex-direction:column;padding-top:8px}
@media(max-width:600px){.auth-page .refresh-username{min-height:44px;padding-inline:10px}.auth-page select{min-height:48px;font-size:16px}}
