/* Defense page additions to the shared website design. */
[hidden] { display: none !important; }
body { isolation: isolate; }
body::before {
  content: '';
  position: fixed;
  z-index: -1;
  pointer-events: none;
  display: block;
  inset: var(--defense-header-height, 60px) 0 0;
  background: url('cover-dots.svg') center top / auto 100% repeat-x;
  opacity: .32;
  -webkit-mask-image: none;
  mask-image: none;
}
.light body::before { opacity: .34; }
.defense-main { max-width: 800px; }
.defense-main .thesis-title { font-size: 1.3rem; font-weight: 500; line-height: 1.6; letter-spacing: -.015em; color: var(--text); }
.defense-details { margin: 2rem 0; }
.defense-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: .65rem 1rem; border: 1px solid var(--accent); border-radius: var(--radius); background: transparent; color: var(--accent); font: 500 1rem/1.5 var(--font-sans); text-align: center; text-decoration: none; }
.defense-button:disabled { color: var(--text-muted); border-color: var(--border); cursor: default; }
a.defense-button:hover { background: var(--bg-secondary); color: var(--accent-hover); }
#online-note { margin-top: .7rem; color: var(--text-muted); font-size: .875rem; }
@media (max-width: 600px) {
  .defense-main .thesis-title { font-size: 1.15rem; }
}
