/* Web companion to the ASSC 2026 poster — responsive single-column reading version. */
:root {
  --navy: #0b2545;
  --navy2: #15355f;
  --ink: #15212e;
  --muted: #5a6b7d;
  --accent: #0e9fb3;
  --accent-ink: #06363f;
  --line: #dde6f1;
  --bg: #eef1f6;
  --seg: #15a0b3;
}

/* Inter, vendored (shared with the poster) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('vendor/inter/inter-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('vendor/inter/inter-latin-wght-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('vendor/inter/inter-greek-wght-normal.woff2') format('woff2');
  unicode-range: U+0370-03FF;
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('vendor/inter/inter-greek-wght-italic.woff2') format('woff2');
  unicode-range: U+0370-03FF;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.55;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* masthead */
.masthead {
  background: var(--navy);
  color: #fff;
}

.masthead .inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 30px 22px 26px;
}

.masthead h1 {
  margin: 0;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.08;
}

.masthead .subtitle {
  margin: .5rem 0 0;
  font-size: 1.4rem;
  font-weight: 500;
  color: #9fb2c8;
}

.masthead .authors {
  margin: 1.1rem 0 0;
  font-size: .95rem;
  font-weight: 600;
  color: #eaf0f7;
}

.masthead .authors sup {
  color: var(--accent);
}

.masthead .affils {
  margin: .35rem 0 0;
  font-size: .78rem;
  color: #9fb2c8;
  line-height: 1.5;
}

.masthead .links {
  margin: 1rem 0 0;
}

.links a {
  display: inline-block;
  color: var(--bg);
  background: var(--accent);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.8rem;
  padding: .8rem 1.1rem;
  border-radius: 999px;
}

.links a:hover {
  filter: brightness(1.07);
}

main .links {
  margin: 1.8rem 0 .4rem;
  text-align: center;
}

/* article */
main {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  padding: 8px 26px 64px;
  box-shadow: 0 0 40px rgba(11, 37, 69, .06);
}

.ga {
  margin: 26px 0 8px;
}

.ga img {
  width: 100%;
  height: auto;
  display: block;
  border: 0;
  padding: 0;
  border-radius: 0;
  background: none;
}

.lede h2 {
  font-size: 1.5rem;
  line-height: 1.18;
  color: var(--navy);
  margin: 1.4em 0 .5em;
  font-weight: 800;
}

.lede p {
  font-size: 1.02rem;
  margin: .7em 0;
}

section.step {
  margin: 2.6em 0 0;
}

section.step>h2 {
  font-size: 1.32rem;
  line-height: 1.2;
  color: var(--navy);
  font-weight: 800;
  margin: 0 0 .5em;
  padding-left: .7rem;
  border-left: .28rem solid var(--accent);
}

section.step .body {
  font-size: 1.02rem;
}

section.step .body p {
  margin: .6em 0;
}

.eq {
  margin: 1.1em 0;
  text-align: center;
  overflow-x: auto;
  overflow-y: hidden;
  color: var(--navy);
}

figure {
  margin: 1.3em 0 .4em;
}

figure img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 10px;
}

figcaption {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.5;
  margin-top: .7rem;
}

figcaption b {
  color: var(--navy);
}

/* heading highlights — cyan accent, matching the poster */
.hl {
  color: #11c3d6;
}

em.term,
.term {
  font-style: normal;
  font-weight: 700;
  color: var(--seg);
}

section.backmatter {
  margin: 2.2em 0 0;
  padding-top: 1.4em;
  border-top: 1px solid var(--line);
}

section.backmatter h2 {
  font-size: 1.02rem;
  color: var(--navy);
  font-weight: 800;
  margin: 0 0 .4em;
}

section.backmatter p {
  font-size: .9rem;
  color: var(--muted);
  margin: .4em 0;
}

section.backmatter a {
  color: var(--accent);
  word-break: break-word;
}

section.backmatter code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .88em;
}

footer {
  max-width: 820px;
  margin: 0 auto;
  padding: 24px 26px 60px;
  color: var(--muted);
  font-size: .85rem;
}

footer a {
  color: var(--accent);
}

@media (max-width:600px) {
  .masthead h1 {
    font-size: 1.55rem;
  }

  .masthead .subtitle {
    font-size: 1.3rem;
  }

  main {
    padding: 6px 16px 48px;
  }

  .lede h2 {
    font-size: 1.3rem;
  }

  section.step>h2 {
    font-size: 1.18rem;
  }

  section.step .body,
  .lede p {
    font-size: 1rem;
  }
}
