/* Daniel J. Mirny — personal academic site
   Minimal, clean style in the spirit of UCLA Anderson faculty pages. */

:root {
  --ink: #232323;
  --muted: #666;
  --accent: #1f3864;       /* navy, matching CV/report */
  --rule: #e2e2e2;
  --maxw: 760px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
               Arial, sans-serif;
  font-size: 17px;
  line-height: 1.62;
}

.wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px 72px;
}

/* ---- navigation ---- */
nav { border-bottom: 1px solid var(--rule); margin-bottom: 36px; }
nav .wrap { padding-top: 22px; padding-bottom: 16px; }
nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; }
nav a {
  text-decoration: none; color: var(--muted);
  font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase;
}
nav a:hover { color: var(--accent); }
nav a.active { color: var(--ink); font-weight: 600; }

/* ---- header ---- */
header.intro h1 { font-size: 2.05rem; margin: 0 0 18px; letter-spacing: -0.01em; }
.lede { display: flex; gap: 28px; align-items: flex-start; margin-bottom: 30px; }
.headshot {
  width: 190px; height: 190px; object-fit: cover;
  border-radius: 4px; border: 1px solid var(--rule); flex: 0 0 auto;
}
.meta { font-size: 16px; line-height: 1.55; }
.meta .role { font-weight: 600; }
.meta .sub { color: var(--muted); }
.meta address { font-style: normal; color: var(--muted); margin-top: 10px; }
.meta a { color: var(--accent); text-decoration: none; }
.meta a:hover { text-decoration: underline; }

/* ---- body text ---- */
p { margin: 0 0 18px; }
main a { color: var(--accent); }
main a:hover { color: #142a4d; }

/* ---- section headers (research / teaching) ---- */
h2.section {
  font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--accent); border-bottom: 1px solid var(--rule);
  padding-bottom: 6px; margin: 38px 0 18px;
}

/* ---- publication / course lists ---- */
ul.pubs { list-style: none; margin: 0; padding: 0; }
ul.pubs > li { margin: 0 0 20px; padding-left: 1.5em; text-indent: -1.5em; }
ul.pubs cite { font-style: italic; }
.overview {
  display: block; text-indent: 0; margin-top: 3px;
  color: #555; font-style: italic; font-size: 15.5px; line-height: 1.5;
}
.status { color: var(--muted); }
.links { display: block; text-indent: 0; margin-top: 4px; }
.links a {
  text-decoration: none; color: var(--accent);
  font-size: 13.5px; margin-right: 16px; white-space: nowrap;
}
.links a:hover { text-decoration: underline; }

/* ---- expandable abstracts ---- */
details.abstract { text-indent: 0; margin-top: 5px; }
details.abstract > summary {
  cursor: pointer; color: var(--accent); font-size: 13.5px;
  list-style: none; display: inline-block;
}
details.abstract > summary::-webkit-details-marker { display: none; }
details.abstract > summary::before { content: "\25B8\00A0\00A0"; }   /* triangle right */
details.abstract[open] > summary::before { content: "\25BE\00A0\00A0"; } /* triangle down */
details.abstract > summary:hover { text-decoration: underline; }
details.abstract p {
  margin: 8px 0 2px; font-size: 14.5px; line-height: 1.6; color: #444;
}

footer {
  border-top: 1px solid var(--rule); margin-top: 40px; padding-top: 16px;
  color: var(--muted); font-size: 13px;
  display: flex; justify-content: space-between; align-items: center;
}
footer .turtle { font-size: 16px; }

@media (max-width: 540px) {
  body { font-size: 16px; }
  .lede { flex-direction: column; }
  .headshot { width: 160px; height: 160px; }
}
