/* ═══ HELHEIMERS — the session pages' rules every page needs ═══
   css/pages/quests.css arrives with the sessions module (core.js MODULES), not
   with every first visit. These are its rules that pages outside the sessions
   draw too — a sitting's row on Valhalla, the admin console and in messages, a
   narrator's earnings, the dimmed button, the spark — copied here word for word,
   in the document where quests.css stood. On a session page quests.css lands
   right after this sheet and says the same again, so the cascade there is the
   one it was written against. page-sheets.test.ts keeps the copy and the
   original the same: change a rule in quests.css, and here. */
.reg { --stone-clip: polygon(0 26px, 12% 9px, 50% 0, 88% 9px, 100% 26px, 100% 100%, 0 100%); perspective: 1400px; width: 100%; min-width: 0; }
.spark { position: absolute; width: 4px; height: 4px; clip-path: var(--clip-hex); background: var(--emerald); box-shadow: 0 0 8px var(--emerald); pointer-events: none; animation: spark .65s var(--ease-out) forwards; }
.earn-neg { color: var(--danger); } .earn-pos { color: var(--accent-text); }
.btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.sittings { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s-2); }
.sitting { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) auto; align-items: center; gap: var(--s-3);
  padding: var(--s-3) var(--s-4); --bd: var(--line); background: var(--facet-edges), var(--bg-elev); border: 1px solid var(--bd); clip-path: var(--clip-facet); }
@media (max-width: 40em) { .sitting { grid-template-columns: 1fr; } .sitting > .is-void { display: none; } }
.vh-owed { margin-bottom: var(--s-5); }
.vh-owed__list { list-style: none; padding: 0; display: grid; gap: var(--s-2); }
.vh-owed__list li { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; }
.q-sep { font-family: var(--font-rune); color: var(--fg-muted); font-weight: 400; unicode-bidi: isolate; }
@keyframes spark { 0% { opacity: 1; transform: translate(0, 0) scale(1); } 100% { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(.2); } }
