/* author.css — Dr. Mark Denton profile + publication timeline.
   Layers on library.css (same page skeleton). */
.au-mast .au-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;margin-top:1.4rem}
.au-mast .au-stats div{background:var(--sds-panel);border:1px solid var(--line);border-radius:6px;padding:.7rem .9rem}
.au-mast .au-stats b{display:block;color:var(--navy);font-size:1.25rem;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.au-mast .au-stats span{display:block;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}
.au-photo{aspect-ratio:1/1;border-radius:50%;border-color:var(--green)}
.au-photo img{width:100%;height:100%;object-fit:cover}

/* timeline */
.au-timeline{position:relative;margin-top:1.2rem;padding-left:0}
.tl-era{position:relative;padding:0 0 1.6rem 2.1rem;border-left:3px solid var(--line)}
.tl-era:last-child{padding-bottom:.4rem}
.tl-era-head{position:relative;margin-bottom:.9rem}
.tl-era-head::before{content:'';position:absolute;left:calc(-2.1rem - 11px);top:.35rem;width:19px;height:19px;border-radius:50%;background:#fff;border:4px solid var(--line);box-shadow:0 0 0 3px #fff}
.tl-era--gold{border-left-color:var(--gold)} .tl-era--gold .tl-era-head::before{border-color:var(--gold)} .tl-era--gold .tl-era-years{color:#8a6500}
.tl-era--blue{border-left-color:var(--blue)} .tl-era--blue .tl-era-head::before{border-color:var(--blue)} .tl-era--blue .tl-era-years{color:var(--blue)}
.tl-era--cyan{border-left-color:var(--cyan)} .tl-era--cyan .tl-era-head::before{border-color:var(--cyan)} .tl-era--cyan .tl-era-years{color:#007a99}
.tl-era--green{border-left-color:var(--green)} .tl-era--green .tl-era-head::before{border-color:var(--green)} .tl-era--green .tl-era-years{color:#357a1b}
.tl-era-years{display:block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tl-era-head h3{color:var(--navy);font-size:1.15rem;font-weight:800;letter-spacing:-.01em;text-transform:none;margin:.15rem 0 .2rem}
.tl-era-head p{color:var(--slate);font-size:.94rem;margin:0}
.tl-stops{list-style:none;margin:0;padding:0}
.tl-stop{position:relative;display:grid;grid-template-columns:110px 1fr;gap:.9rem;padding:.55rem 0;border-top:1px dashed var(--line);font-size:.94rem}
.tl-stop::before{content:'';position:absolute;left:calc(-2.1rem - 5px);top:1.05rem;width:7px;height:7px;border-radius:50%;background:var(--slate)}
.tl-year{color:var(--navy);font-weight:800;white-space:nowrap}
.tl-text{color:var(--slate)}

/* publication lists */
.pub-list{list-style:none;margin:.6rem 0 0;padding:0;counter-reset:none}
.pub{border-top:1px solid var(--line)}
.pub:last-child{border-bottom:1px solid var(--line)}
.pub>a,.pub>div{display:grid;grid-template-columns:64px 1fr;gap:1rem;padding:.8rem .5rem;text-decoration:none;color:inherit}
.pub>a{transition:background .15s}
.pub>a:hover{background:var(--sds-panel)}
.pub-year{color:var(--muted);font-weight:800;font-size:.9rem;padding-top:.1rem}
.pub-title{display:block;color:var(--navy);font-weight:700;font-size:.97rem;line-height:1.3}
.pub>a:hover .pub-title{color:var(--blue)}
.pub-meta{display:block;color:var(--muted);font-size:.82rem;margin-top:.25rem}
.pub-list--compact .pub-title{font-weight:600;font-size:.92rem}
@media (max-width:640px){
  .tl-stop{grid-template-columns:1fr;gap:.15rem}
  .pub>a,.pub>div{grid-template-columns:48px 1fr;gap:.7rem}
}
