.dmlb { --dmlb-accent: #e31b23; --dmlb-line: #d9d9d9; margin: 24px 0; clear: both; }
.dmlb *, .dmlb *::before, .dmlb *::after { box-sizing: border-box; }
.dmlb [hidden] { display: none !important; }

/* status line + sub-head (moved above the main headline by JS) */
.dmlb-head { --dmlb-accent: #e31b23; margin: 0 0 12px; }
.dmlb-head .dmlb-bar { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--dmlb-accent); }
.dmlb-head .dmlb-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--dmlb-accent); animation: dmlb-pulse 1.6s infinite; }
.dmlb-head.is-ended .dmlb-dot { display: none; }
.dmlb-head .dmlb-subhead { margin: 0; font-size: 17px; line-height: 1.45; color: #555; }
@keyframes dmlb-pulse {
  0% { box-shadow: 0 0 0 0 rgba(227, 27, 35, .5); }
  70% { box-shadow: 0 0 0 8px rgba(227, 27, 35, 0); }
  100% { box-shadow: 0 0 0 0 rgba(227, 27, 35, 0); }
}

/* layout: index on the left, feed on the right */
.dmlb-wrap { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 26px; align-items: start; }

/* side index: a vertical line with a round bullet beside every headline */
.dmlb-index {
  position: sticky; top: var(--dmlb-top, 90px);
  max-height: calc(100vh - var(--dmlb-top, 90px) - 20px);
  overflow-y: auto; padding-left: 7px;
  font-size: 13px; line-height: 1.4;
}
.dmlb .dmlb-ix {
  position: relative; display: block; padding: 7px 0 9px 18px;
  border-left: 2px solid var(--dmlb-line); color: #222; text-decoration: none;
}
.dmlb .dmlb-ix::before {
  content: ""; position: absolute; left: -8px; top: 9px; width: 10px; height: 10px;
  border-radius: 50%; background: #aaa; border: 2px solid #fff; box-sizing: content-box;
}
.dmlb .dmlb-ix time { display: block; margin-bottom: 1px; font-size: 11px; font-weight: 600; color: #777; }
.dmlb .dmlb-ix:hover, .dmlb .dmlb-ix.is-active { color: var(--dmlb-accent); }
.dmlb .dmlb-ix:hover::before, .dmlb .dmlb-ix.is-active::before { background: var(--dmlb-accent); }
.dmlb .dmlb-ix.is-active time { color: var(--dmlb-accent); }

/* feed with a plain vertical rail (no bullets here) */
.dmlb-feed { position: relative; min-width: 0; padding-left: 26px; border-left: 2px solid var(--dmlb-line); }
.dmlb-item { margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid #e6e6e6; scroll-margin-top: var(--dmlb-top, 90px); }
.dmlb .dmlb-time { display: block; margin: 0 0 6px; font-size: 17px; font-weight: 700; color: #777; }
.dmlb .dmlb-title { margin: 0 0 10px; font-size: 24px; line-height: 1.35; font-weight: 800; color: #111; }
.dmlb .dmlb-body > :first-child { margin-top: 0; }
.dmlb .dmlb-body img, .dmlb .dmlb-figure img { max-width: 100%; height: auto; }
.dmlb .dmlb-figure { margin: 0 0 12px; }
.dmlb .dmlb-share { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; font-size: 14px; }
.dmlb .dmlb-share a, .dmlb .dmlb-share button {
  padding: 0; border: 0; background: none; color: #777; font: inherit; text-decoration: none; cursor: pointer;
}
.dmlb .dmlb-share a:hover, .dmlb .dmlb-share button:hover { color: var(--dmlb-accent); }
.dmlb-item.is-new { animation: dmlb-flash 3.5s ease-out; }
@keyframes dmlb-flash { from { background: #fff4d1; } to { background: transparent; } }
.dmlb .dmlb-empty { margin: 0; color: #777; }

/* ads */
.dmlb .dmlb-ad { margin: 0 0 24px; padding: 0 0 20px; border-bottom: 1px solid #e6e6e6; }
.dmlb .dmlb-ad.is-collapsed { display: none; }
.dmlb .dmlb-ad small { display: block; margin-bottom: 4px; font-size: 11px; color: #999; }
.dmlb .dmlb-ad ins { max-width: 100%; }

/* "new updates" button */
.dmlb .dmlb-new {
  position: fixed; left: 50%; bottom: 24px; z-index: 99999; transform: translateX(-50%);
  padding: 10px 18px; border: 0; border-radius: 24px; background: var(--dmlb-accent);
  color: #fff; font-weight: 700; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}

@media (max-width: 768px) {
  .dmlb-wrap { grid-template-columns: 1fr; gap: 14px; }
  .dmlb-index { position: static; max-height: 170px; margin-bottom: 4px; }
  .dmlb-feed { padding-left: 20px; }
  .dmlb .dmlb-title { font-size: 21px; }
}
