/* The engraving occupies existing blank space; it never adds a layout row. */
.route-art-card { position: relative; isolation: isolate; }
.route-art {
  --route-art-gold: #cdb78a;
  --route-art-fine: #789887;
  position: absolute;
  inset-inline: 9px;
  top: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  color: var(--route-art-gold);
  z-index: 0;
  contain: layout paint;
}
.route-art[hidden] { display: none; }
.route-art[data-act="2"] { --route-art-gold: #bdc6ad; --route-art-fine: #729d9b; }
.route-art[data-act="3"] { --route-art-gold: #d3b291; --route-art-fine: #9b8a7c; }
.route-art__engraving {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 310px;
  margin: auto;
  position: absolute;
  inset: 0;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.route-art__subject { opacity: .77; }
.route-art__fine { stroke: var(--route-art-fine); stroke-width: .85; }
.route-art__backdrop { opacity: .37; stroke-width: .8; }
.route-art__wash { fill: #1b3028; fill-opacity: .86; }
.route-art__shade { fill: #cdb78a; fill-opacity: .065; }
.route-art__accent { stroke-width: 1.8; opacity: .95; }
.route-art__dot { fill: currentColor; stroke: none; }
.route-art__term { opacity: .6; stroke-width: 1; }
.route-art[data-kind="elite"] .route-art__subject,
.route-art[data-kind="boss"] .route-art__subject { opacity: .88; }
.route-art[data-compact="true"] .route-art__backdrop,
.route-art[data-compact="true"] .route-art__term { display: none; }
.route-art[data-compact="true"] .route-art__subject { opacity: .55; }
.route-item-art__memory { opacity: .65; }
.route-item-art__object { color: var(--route-art-gold); opacity: .94; }
.route-item-art .route-art__backdrop { opacity: .25; }
@media (max-width: 480px) {
  .route-art { inset-inline: 4px; }
  .route-art__engraving { max-height: 290px; stroke-width: 1.5; }
  .route-art__fine { stroke-width: 1; }
}
/* All input modes are intentionally static: polling and keyboard paging never animate the art. */
@media (prefers-reduced-motion: reduce) {
  .route-art, .route-art * { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .route-art { display: none; }
}
.route-table-art {
  --table-art-ink: #c1b58c;
  position: absolute;
  inset-inline: 14px;
  top: 0;
  height: 0;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  z-index: 0;
  overflow: hidden;
  contain: layout paint;
}
.route-table-art[hidden] { display: none; }
.route-table-art[data-act="2"] { --table-art-ink: #b5cac0; }
.route-table-art[data-act="3"] { --table-art-ink: #d4b79d; }
.route-table-art__side {
  position: absolute;
  top: 0;
  bottom: 0;
  overflow: hidden;
  opacity: .33;
}
.route-table-art__side--left { left: 0; width: var(--table-art-left, 0px); }
.route-table-art__side--right { right: 0; width: var(--table-art-right, 0px); }
.route-table-art svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: var(--table-art-ink);
  stroke-width: 1.15;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.route-table-art__detail { opacity: .48; stroke-width: .7; }
.route-table-art[data-compact="true"] .route-table-art__detail { display: none; }
.route-table-art[data-compact="true"] .route-table-art__side { opacity: .26; }
@media (max-width: 480px) {
  .route-table-art { inset-inline: 8px; }
  .route-table-art svg { width: 60px; max-width: none; }
  .route-table-art__side--right svg { position: absolute; right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .route-table-art, .route-table-art * { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .route-table-art { display: none; }
}

/* V9 interludes use measured unused space, never a new row or input surface. */
.route-interlude-art .route-art__subject { opacity: .57; }
.route-interlude-art .route-art__backdrop { opacity: .23; }
.route-item-art[data-curio="true"] { --route-art-gold: #bea3aa; --route-art-fine: #85869f; }
.item-card[data-curio="true"] { border-color: #b497a44d; }
.item-card[data-curio="true"] > .item-icon { color: #c8acb5; }
