
      .thesis-caption { margin-bottom: 24px; }
      .thesis-caption .cap-de, .thesis-caption .cap-en { display: block; }
      .thesis-caption-spaced { margin-top: 48px; }
      .thesis-intro { margin-bottom: 24px; }
      .thesis-intro .intro-de, .thesis-open-note-de { display: block; }
      .thesis-topic-list { list-style: none; padding: 0; margin: 24px 0 36px; }
      .thesis-topic-list .thesis-topic-row {
        display: grid;
        grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
        align-items: center;
        gap: 14px;
        margin: 0 0 20px;
        line-height: 1.5;
      }
      .thesis-topic-row::before { content: none; }
      .thesis-topic-row a { font-size: 16px; overflow-wrap: anywhere; }
      .thesis-degree { display: block; margin-top: 6px; font-size: 13px; color: #595959; padding-top: 2px; }
      .thesis-thumbnail { display: block; }
      .thesis-thumbnail::after { display: none !important; }
      .thesis-thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: #fff; border-radius: 4px; }
      .thesis-image-credit { display: block; margin-top: 3px; color: #595959; font-size: 10px; line-height: 1.4; }
      .thesis-topic-row .thesis-image-credit a { font-size: inherit; }
      .thesis-contact { margin: 32px 0 24px; line-height: 1.5; }
      .thesis-contact p { margin: 6px 0; }
      .thesis-open-note { margin: 24px 0 36px; line-height: 1.5; }
      .thesis-history-list { margin: 0; padding: 0; }
      .thesis-history-row {
        display: grid;
        grid-template-columns: 64px 2.15fr 0.85fr;
        gap: 14px;
        margin: 14px 0;
        line-height: 1.65;
      }
      .thesis-year { font-weight: 700; }
      .thesis-entry, .thesis-meta-col { min-width: 0; }
      .thesis-meta-col { color: #4d4d4d; }
      @media (max-width: 850px) {
        .thesis-history-row { grid-template-columns: 56px minmax(0, 1fr); }
        .thesis-meta-col { grid-column: 2; }
      }
      @media (max-width: 600px) {
        .thesis-topic-list .thesis-topic-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
      }

.thesis-number { font-weight: 700; margin-right: 8px; }
.thesis-detail-image { margin: 24px 0; }
.thesis-detail-image img { display: block; max-width: 100%; max-height: 420px; object-fit: contain; }
.thesis-detail-image figcaption { font-size: 12px; color: #595959; margin-top: 6px; }
.thesis-detail-section[lang="en"] { font-size: .85em; color: #595959; }
.thesis-filters { margin: 24px 0 16px; }
.thesis-filters fieldset { border: 0; margin: 0 0 16px; padding: 0; min-width: 0; }
.thesis-filters legend { margin-bottom: 8px; font-weight: 700; }
.thesis-filter-options, .thesis-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.thesis-filter-options button, .thesis-reset {
  font: inherit; font-size: 13px; text-align: left; line-height: 1.4;
  border: 1px solid #777; border-radius: 4px; background: #fff; color: #151515;
  padding: 6px 10px; cursor: pointer;
}
.thesis-filter-options button[aria-pressed="true"] { background: #151515; color: #fff; border-color: #151515; }
.thesis-filter-options button[aria-pressed="true"] .translation { color: #e0e0e0; }
.thesis-filters button:focus-visible { outline: 2px solid #0076d1; outline-offset: 3px; }
.thesis-reset:disabled { opacity: .5; cursor: default; }
.thesis-filter-hint, .thesis-filter-status { font-size: 13px; color: #595959; }
.thesis-tags { margin-top: 8px; gap: 6px; }
.thesis-tag { padding: 3px 7px; border: 1px solid #ddd; border-radius: 3px; font-size: 12px; line-height: 1.4; }
.thesis-tag-degree { font-weight: 700; background: #f3f3f3; border-color: #bbb; }
.thesis-tag .translation, .thesis-filter-options .translation { margin-top: 2px; }
.thesis-empty { list-style: none; }
.thesis-empty::before { content: none; }

/* Consistent category colors for filter controls and topic badges. */
[data-tone] { --chip-ink: #475569; --chip-bg: #f1f5f9; --chip-border: #cbd5e1; }
[data-tone="blue"] { --chip-ink: #1e40af; --chip-bg: #eff6ff; --chip-border: #bfdbfe; }
[data-tone="indigo"] { --chip-ink: #3730a3; --chip-bg: #eef2ff; --chip-border: #c7d2fe; }
[data-tone="teal"] { --chip-ink: #115e59; --chip-bg: #f0fdfa; --chip-border: #99f6e4; }
[data-tone="violet"] { --chip-ink: #6b21a8; --chip-bg: #faf5ff; --chip-border: #e9d5ff; }
[data-tone="amber"] { --chip-ink: #92400e; --chip-bg: #fffbeb; --chip-border: #fde68a; }
[data-tone="rose"] { --chip-ink: #9f1239; --chip-bg: #fff1f2; --chip-border: #fecdd3; }
.thesis-filters { padding: 22px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; }
.thesis-filters legend { font-size: 13px; color: #475569; letter-spacing: .025em; }
.thesis-filter-options button, .thesis-tag {
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--chip-ink); background: var(--chip-bg); border: 1px solid var(--chip-border);
  border-radius: 999px; font-family: system-ui, sans-serif; font-weight: 600;
}
.thesis-filter-options button { min-height: 44px; padding: 9px 14px; transition: background .15s, box-shadow .15s; }
.thesis-filter-options button:hover { box-shadow: 0 0 0 2px var(--chip-border); }
.thesis-filter-options button[aria-pressed="true"] { background: var(--chip-ink); border-color: var(--chip-ink); color: #fff; }
.thesis-reset { min-height: 44px; padding: 9px 14px; border-radius: 9px; border-color: #cbd5e1; font-family: system-ui, sans-serif; }
.thesis-reset:not(:disabled):hover { background: #e2e8f0; }
.thesis-filter-hint { margin: 14px 0 0; font-size: 12px; line-height: 1.6; color: #64748b; }
.thesis-filter-status { margin: 18px 0; font-weight: 600; }
.thesis-tag { padding: 4px 10px; font-size: 12px; }
.thesis-topic-list .thesis-topic-row { padding: 20px 0; margin: 0; border-bottom: 1px solid #e2e8f0; gap: 22px; }
.thesis-topic-list .thesis-topic-row:first-child { padding-top: 0; }
.thesis-tags { margin-top: 12px; gap: 7px; }
.thesis-thumbnail img { border-radius: 10px; }
.thesis-number { color: #64748b; font-variant-numeric: tabular-nums; }
.thesis-topic-body > a { line-height: 1.6; }
@media (max-width: 600px) {
  .thesis-filters { padding: 16px; border-radius: 12px; }
  .thesis-topic-list .thesis-topic-row { gap: 14px; }
  .thesis-tag { font-size: 11px; padding: 4px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .thesis-filter-options button { transition: none; }
}
.thesis-invitation {
  margin: 0 0 28px;
  padding: 22px 24px;
  border: 1px solid #b9dfd9;
  border-left: 4px solid #0f766e;
  border-radius: 12px;
  background: #f0fdfa;
  color: #134e4a;
}
.thesis-invitation h2 { margin: 0 0 10px; font-size: 20px; line-height: 1.4; }
.thesis-invitation p { margin: 0; font-size: 14px; line-height: 1.8; }
@media (max-width: 600px) {
  .thesis-invitation { padding: 18px; }
  .thesis-invitation h2 { font-size: 18px; }
}

.thesis-video { display: block; width: 100%; max-height: 560px; margin: 16px 0; border-radius: 12px; background: #0f172a; }
/* Compact filters wrap naturally without a horizontal scrollbar. */
.thesis-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  flex-wrap: wrap;
}
.thesis-filters fieldset { flex: 0 1 auto; min-width: 0; max-width: 100%; margin: 0; }
.thesis-filters legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.thesis-filters fieldset + fieldset { border-left: 1px solid #cbd5e1; padding-left: 12px; }
.thesis-filter-options { flex-wrap: wrap; gap: 6px; }
.thesis-filter-options button { white-space: nowrap; padding: 7px 10px; font-size: 12px; }
.thesis-reset { flex: 0 0 auto; white-space: nowrap; padding: 7px 10px; font-size: 12px; }
.thesis-filter-hint { display: none; }

.thesis-filter-options button[aria-pressed="true"] { box-shadow: inset 0 0 0 2px currentColor; font-weight: 800; }

.thesis-publication {
  position: relative;
  margin: 8px 0 0;
  padding-left: 22px;
  color: #666;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.thesis-publication em {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.thesis-publication-icon { position: absolute; left: 0; top: 0; font-size: 13px; line-height: inherit; }
.thesis-publication a { color: inherit; text-decoration: underline; overflow-wrap: anywhere; }
.thesis-publication a:hover { color: #333; }

.thesis-publication-contribution { display: block; margin-bottom: 3px; font-weight: 600; }
