.auth-controls[hidden],.auth-controls [hidden],.auth-dialog [hidden]{display:none!important}
.masthead nav{gap:16px;font-size:.8rem}
.masthead nav>a{white-space:nowrap}
.auth-controls{flex:0 0 auto;padding-left:16px;border-left:1px solid var(--line)}
.auth-signed-out,.auth-signed-in{display:flex;align-items:center;gap:9px}
.auth-button{min-height:40px;padding:9px 12px;border:1px solid transparent;background:transparent;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap}
.auth-button:hover{color:var(--oxblood)}
.auth-button-primary{border-color:var(--ink)}
.auth-button-primary:hover{background:var(--ink);color:var(--white)}
.auth-unavailable{display:block;max-width:150px;color:var(--muted);font-size:.72rem}
.auth-user{display:flex;align-items:center;min-width:32px;min-height:32px}
.auth-workspace{display:inline-flex;align-items:center;min-height:40px;color:var(--forest);font-size:.78rem;font-weight:700;white-space:nowrap}
.auth-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:27px;border:1px solid var(--line);background:var(--white);color:var(--ink);box-shadow:0 24px 70px #162c2929;overflow:auto}
.auth-dialog::backdrop{background:#162c2999;backdrop-filter:blur(3px)}
.auth-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.auth-dialog h2{font-size:1.65rem;line-height:1.2}
.auth-close{flex:0 0 auto;min-height:36px;padding:8px 10px;border:1px solid var(--line);background:transparent;color:var(--soft);font:inherit;font-size:.75rem;cursor:pointer}
.auth-close:hover{border-color:var(--ink);color:var(--ink)}
.auth-notice{margin-top:18px;padding:14px 16px;border-left:3px solid var(--forest);background:var(--wash);font-size:.8rem}
.auth-newsletter-note{margin-top:12px;color:var(--muted);font-size:.74rem}
.auth-status{margin-top:22px;font-size:.86rem;line-height:1.6}
.auth-status[data-state=verified]{color:var(--forest-dark)}
.auth-status[data-state=error]{color:var(--oxblood)}
.auth-switch{display:flex;gap:10px;margin-top:23px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.auth-switch .auth-button{font-size:.8rem;border-color:var(--line)}
.auth-switch .auth-button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.auth-mount{display:flex;justify-content:center;margin-top:20px;min-height:100px}
.auth-flow-root{width:100%;max-width:100%}
.auth-clerk-root,.auth-clerk-card{width:100%;max-width:100%;box-shadow:none}
@media(max-width:1180px){
  .masthead-inner{gap:20px}
  .menu-button{display:block;min-height:40px;padding:8px 11px;border:1px solid var(--ink);background:transparent;font:inherit;font-size:.8rem;cursor:pointer}
  .masthead nav{position:absolute;top:100%;left:18px;right:18px;display:none;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 92px);padding:10px 16px 16px;border:1px solid var(--line);background:var(--paper);overflow:auto}
  .masthead nav.open{display:flex}
  .masthead nav>a{padding:12px 0;border-bottom:1px solid var(--line)}
  .masthead .nav-cta{margin-top:8px;padding:12px;text-align:center}
  .auth-controls{margin-top:16px;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
  .auth-signed-out{justify-content:space-between}
  .auth-button{min-height:44px}
  .auth-unavailable{max-width:none}
}
@media(max-width:480px){.auth-dialog{padding:20px}.auth-dialog h2{font-size:1.45rem}}
