.roadmap {
  margin: 0;
  padding: 0;
  color: #d0c5b8;
  overflow-wrap: anywhere;
}
.roadmap-manage { min-height: 44px; padding: 10px 14px; color: #e2c29b; background: #292118; border: 1px solid #756047; border-radius: 5px; font: 13px/1.4 Arial, sans-serif; cursor: pointer; }
.roadmap-manage[hidden], .roadmap-status[hidden] { display: none; }
.roadmap-status, .roadmap-empty { color: #bfb19d; font: 13px/1.6 Arial, sans-serif; }
.roadmap-status { margin: 8px 10px; }
.roadmap-manage:focus-visible { outline: 2px solid #e2b780; outline-offset: 3px; }
.roadmap-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); transition: none; }
.roadmap-stages:focus-visible { outline: 2px solid #e2b780; outline-offset: 3px; }
.roadmap-swipe-icon, .roadmap-teaser { display: none; }
.roadmap-swipe-icon svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.roadmap-swipe-icon.is-back svg { transform: scaleX(-1); }
.roadmap-stage { --roadmap-accent: #b0aa9d; --section-title-color: var(--roadmap-accent); min-width: 0; }
.roadmap-stage-content { padding: 0 4px 4px; }
.roadmap-empty { margin: 0; padding: 8px 6px; }
.roadmap-stage--current { --roadmap-accent: #d6a05e; }
.roadmap-stage--done { --roadmap-accent: #a0ae85; }
.roadmap-item {
  border-top: 1px solid #d3c3a31c;
  background: #c6b08808;
  box-shadow: inset 2px 0 var(--roadmap-accent);
}
.roadmap-item:first-child { border-top: 0; }
.roadmap-item[open] { background: #c6b08810; }
.roadmap-item summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-height: 44px;
  padding: 10px 6px;
  list-style: none;
  color: #d9d2c6;
  font: 700 18px/1.3 var(--font-section-title);
  cursor: pointer;
  touch-action: manipulation;
}
.roadmap-item summary > span:first-child { min-width: 0; }
.roadmap-item summary::-webkit-details-marker { display: none; }
.roadmap-toggle { position: relative; flex: 0 0 12px; width: 12px; height: 12px; margin-top: 4px; color: #958c7c; }
.roadmap-toggle::before, .roadmap-toggle::after { content: ""; position: absolute; background: currentColor; }
.roadmap-toggle::before { width: 10px; height: 1px; top: 5px; left: 1px; }
.roadmap-toggle::after { width: 1px; height: 10px; top: 1px; left: 5px; }
.roadmap-item[open] .roadmap-toggle::after { display: none; }
.roadmap-item[open] summary { color: var(--roadmap-accent); }
.roadmap-item[open] .roadmap-toggle { color: var(--roadmap-accent); }
.roadmap-description { padding: 0 6px 10px; }
.roadmap-description p { margin: 0; color: #b9b3a9; font: 13px/1.6 Arial, sans-serif; white-space: pre-line; }
.roadmap-description a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 2px; color: var(--roadmap-accent); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.roadmap-item summary:focus-visible { outline: 2px solid var(--roadmap-accent); outline-offset: -3px; }
.roadmap-footnote { --section-padding-inline: 10px; margin: 0; padding: 12px var(--section-padding-inline) 6px; color: #ada08f; font: 12px/1.6 Arial, sans-serif; }
@media (hover: hover) {
  .roadmap-item summary:hover { background: #ffffff06; color: var(--roadmap-accent); }
  .roadmap-description a:hover { color: #eee0cc; }
}
@media (max-width: 800px) {
  .roadmap-swipe-icon:not([hidden]) { display: block; flex: 0 0 24px; margin-left: auto; color: #b6a084; pointer-events: none; }
  .roadmap-stages {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    gap: 0;
    align-items: stretch;
    min-width: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    scrollbar-width: none;
  }
  .roadmap-stages::-webkit-scrollbar { display: none; }
  .roadmap-stage { scroll-snap-align: start; }
  .roadmap-stage-content { padding: 0 4px; }
  .roadmap-stage:last-child { scroll-snap-align: end; }
  .roadmap-description p { font-size: 14px; }
}
