/* Portfolio Dungeon. Zone `dgn-`, instrument layer, loaded after style.css. */

/* Page background removed: base.css already carries it. D-163. */

/* System font throughout. */
/* ach- classes belong here too: the achievement chrome is instrument layer. */
[class^="dgn-"],
[class*=" dgn-"],
[class^="ach-"],
[class*=" ach-"],
[class^="troph-"],
[class*=" troph-"],
.backpack-panel,
.troph-slot {
  font-family: var(--type-family-system);
  letter-spacing: 0.02em;
}

/* ASCII is not bound by --measure: truncated art means nothing. */
/* Named explicitly: a bare selector loses against their own classes. */
body pre,
.ach-page-title-art,
.dgn-door-art,
.dgn-equip-divider,
.dgn-art,
.dgn-sprite {
  font-family: var(--type-family-system);
  color: var(--text-primary);
  background: var(--surface-page);
  max-width: none;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  line-height: 1.1;
  white-space: pre;
  tab-size: 2;
}

/* Scrollbar stays: it is what shows the map continues. */
.dgn-art::-webkit-scrollbar,
pre::-webkit-scrollbar { height: var(--space-2); }

.dgn-art::-webkit-scrollbar-track,
pre::-webkit-scrollbar-track { background: var(--surface-base); }

.dgn-art::-webkit-scrollbar-thumb,
pre::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: var(--radius-os);
}

/* Blurred halo removed from the title; the glitch stays. */
@keyframes ach-glitch {
  0%, 85%, 100% { transform: none; text-shadow: none; }
  87%  { transform: skewX(-4deg) translateX(3px);  text-shadow: -3px 0 var(--action-default); }
  89%  { transform: skewX(3deg)  translateX(-2px); text-shadow: 3px 0 var(--accent-b); }
  91%  { transform: none; text-shadow: none; }
  93%  { transform: translateX(2px); text-shadow: -2px 0 var(--action-default); }
  95%  { transform: none; text-shadow: none; }
}

.ach-page-title-art { text-shadow: none; }

/* No pop shapes inside an OS window. */
[class^="dgn-"],
[class*=" dgn-"] {
  border-radius: var(--radius-os);
}

.dgn-panel,
.dgn-card,
.backpack-panel {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  box-shadow: var(--elevation-window);
}

/* Entry stays hidden. Keyboard-reachable once revealed, never highlighted. */
.dgn-play-link:focus-visible,
#dungeon-side-project:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}
