/* The shared shell carries the archive materials; scenario instruments retain their own state colors. */
:root { --terminal-brass: #d5c18b; --terminal-line: #516551; }
/* An outline remains visible when a material or scenario supplies its own shadow. */
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
body { background: radial-gradient(ellipse at 75% 0, #26463530, transparent 48rem), #080e0b; }
.masthead { border-bottom-color: #61705a; background: linear-gradient(180deg, #19271e, #101b15); box-shadow: inset 0 -3px #050c08, 0 1px #ffffff0a; }
.wordmark-name { color: #e2d5a8; text-shadow: 0 2px #000; letter-spacing: -.07em; }
.connection { padding: .35rem .6rem; border: 1px solid #3f5544; border-radius: 4px; background: #070f0b; font: .75rem/1.5 var(--font-mono); box-shadow: inset 0 1px 4px #0008; }
.connection .dot { width: .5rem; height: .5rem; }
.connection[data-state="online"] .dot { box-shadow: 0 0 7px #7df3a440; }
.room-nav { padding: 1rem; gap: .8rem; border: 1px solid var(--terminal-line); border-radius: 8px; background: linear-gradient(120deg, #203126, #0d1912 65%); box-shadow: inset 0 0 0 3px #09110c, inset 0 0 0 4px #65755935, 0 8px 22px #0004; }
.workspace-identity { display: flex; align-items: center; gap: .85rem; padding: .5rem .5rem 1.15rem; border-bottom: 1px solid #65755966; color: var(--terminal-brass); font: .8rem/1.5 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.workspace-identity small { display: block; color: #9fb29e; font-size: .75rem; letter-spacing: .03em; margin-top: .2rem; }
.workspace-seal { flex: 0 0 2.6rem; height: 2.6rem; border: 1px solid #a69563; border-radius: 50%; box-shadow: inset 0 0 0 4px #15241a, inset 0 0 0 5px #a69563; background: conic-gradient(from 45deg, transparent 0 20%, #b8a778 20% 25%, transparent 25% 45%, #b8a778 45% 50%, transparent 50% 70%, #b8a778 70% 75%, transparent 75% 95%, #b8a778 95%); }
.room-nav ul { list-style: none; margin: 0; padding: 0; gap: .35rem; }
.room-nav svg { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.room-nav a, .room-nav button { min-height: 48px; gap: .75rem; font-size: .9rem; text-decoration: none; }
.room-nav a { position: relative; display: flex; align-items: center; color: #bdcaba; padding: .65rem .8rem; border: 1px solid transparent; border-radius: 5px; }
.room-nav a:hover { color: #f3edda; background: #31433277; border-color: #7a876259; }
.room-nav a[aria-current="page"] { color: #f3e5b5; border-color: #a18e59; background: linear-gradient(110deg, #645a343b, #1c3225); box-shadow: inset 3px 0 #d6c087, inset 0 1px #ffffff0c, 0 2px 3px #0004; }
.room-nav a[aria-current="page"]::after { content: ""; flex: 0 0 .35rem; height: .35rem; margin-left: auto; border-radius: 50%; background: #e8d08f; box-shadow: 0 0 6px #e8d08f33; }
.room-nav a:focus-visible, .room-nav button:focus-visible { box-shadow: var(--focus-ring); }
.workspace-label { color: #aebc9f; font: .75rem/1.5 var(--font-mono); text-transform: uppercase; letter-spacing: .15em; padding-inline: .8rem; margin: 1.25rem 0 .4rem; }
#workspace-more { display: block; }
#open-command-palette { width: 100%; justify-content: flex-start; margin: 0; padding-inline: .8rem; background: #09130e; box-shadow: inset 0 2px 5px #0005; border-color: #53654b; color: #d8dfca; }
.workspace-shortcut { margin-left: auto; padding: .15rem .3rem; border: 1px solid #52614b; border-radius: 3px; font: .75rem var(--font-mono); color: #aebc9f; box-shadow: 0 1px #000; }
.session-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem 1rem; }
.session-actions .greeting { overflow-wrap: anywhere; }
.command-palette { border: 1px solid #b7a274; border-radius: 9px; padding: 1.5rem; background: linear-gradient(145deg, #203125, #0b1610 55%); box-shadow: inset 0 0 0 4px #080f0b, inset 0 0 0 5px #8e80524d, 0 2rem 6rem #000c; }
.command-palette-heading h2 { font-size: clamp(1.2rem, 4vw, 1.7rem); }
.command-palette-results a { background: #17291e; border-color: #51684e; border-radius: 5px; box-shadow: inset 0 1px #ffffff0a; }
.command-palette-results a:hover, .command-palette-results a:focus-visible { background: #30432d; border-color: #c5b982; }
.command-palette-results h3 { color: var(--terminal-brass); }
.collection-sections { display: flex; flex-wrap: wrap; gap: .35rem; padding: .5rem; margin-bottom: 1.5rem; border: 1px solid #53634c; border-radius: 7px; background: linear-gradient(180deg, #1e2e22, #101e15); box-shadow: inset 0 0 0 2px #060f09, 0 3px 8px #0003; }
.collection-sections a { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem .8rem; border: 1px solid transparent; border-radius: 4px; color: #c4ceb9; font: 500 .78rem/1.4 var(--font-mono); text-decoration: none; white-space: nowrap; }
.collection-sections a:hover { background: #31432c; border-color: #738060; }
.collection-sections a[aria-current="page"] { background: linear-gradient(180deg, #d8cb9c, #b1a16b); color: #152319; border-color: #e5d9af #95875a #766941; box-shadow: inset 0 1px #fff3cb, 0 2px 3px #0005; }
.collection-sections a:focus-visible { box-shadow: var(--focus-ring); }
.admin-sections { display: flex; flex-wrap: wrap; gap: .35rem; padding: .5rem; margin-bottom: 1.5rem; border: 1px solid #53634c; border-radius: 7px; background: #101e15; }
.admin-sections a { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem .8rem; border: 1px solid transparent; border-radius: 4px; color: #c4ceb9; font: 500 .78rem/1.4 var(--font-mono); text-decoration: none; text-align: center; }
.admin-sections a:hover { background: #31432c; border-color: #738060; }
.admin-sections a[aria-current="page"] { background: #d8cb9c; color: #152319; border-color: #95875a; }
.admin-sections a:focus-visible { box-shadow: var(--focus-ring); }
.admin-overview-links, .filter-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: flex-end; }
.member-search { margin-block: 1rem; max-width: 32rem; }
.section-nav a { border: 1px solid transparent; }
.section-nav a[aria-current="page"] { border-color: #687c56; background: #263925; color: #e1d7b0; box-shadow: inset 0 -2px #c9b77b; }
.collection-balance, .collection-income { border-color: #758361; }
.collection-balance .points-balance { color: #eee1b3; text-shadow: 0 2px #000; }
.collection-desk { grid-template-columns: minmax(16rem, .85fr) minmax(0, 1.5fr); align-items: start; }
.collection-balance { border-radius: 7px; border-top-color: #a69563; background: linear-gradient(130deg, #203024, #0c1710); box-shadow: inset 0 0 0 3px #08110a; }
.collection-balance > .eyebrow { color: #c1b58a; }
.collection-balance > a { margin-top: 0; padding-top: .65rem; }
.collection-earning-rules { width: 100%; padding-top: .7rem; margin-top: .7rem; border-top: 1px solid #4b5e43; }
.collection-earning-rules summary { min-height: 32px; cursor: pointer; color: #c8c6a6; font-size: .82rem; }
.collection-earning-rules p { margin-top: .6rem; }
.collection-desk > .pack-counter { display: grid; grid-template-columns: minmax(0, 1fr) 10rem; gap: 1.5rem; align-items: center; min-height: 19rem; }
.collection-desk .pack-sleeve { width: 100%; margin: .5rem 0; min-height: 15rem; }
.collection-locker-status { color: #d9cfaa; font: .8rem/1.6 var(--font-mono); }
.pack-counter { border-color: #8b7c4e; }
.collection-play-links { padding: 1rem; border: 1px solid #5a6d50; border-radius: 6px; background: #14231a; }
.collection-play-links a { padding: .4rem .3rem; color: #dfcea0; }
.card-archive-heading, .pack-page-heading { padding-bottom: .7rem; border-bottom: 1px solid #56644b; margin-bottom: 1.5rem; }
.card-archive-heading > .eyebrow, .pack-page-heading > .eyebrow, #collection-intro .eyebrow { color: var(--terminal-brass); }
@media (min-width: 1080px) {
  .workspace-signed-in { display: grid; grid-template-columns: 15.75rem minmax(0, 1fr); grid-template-rows: auto 1fr auto; }
  .workspace-signed-in > .masthead { grid-column: 1 / -1; grid-row: 1; }
  .workspace-signed-in > .room-nav { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; align-items: stretch; align-self: start; position: sticky; top: 1rem; margin: 1.5rem 0 1.5rem 1rem; max-height: calc(100dvh - 2rem); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #72815c #101d14; }
  .room-nav ul { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .workspace-signed-in > main { grid-column: 2; grid-row: 2; min-width: 0; padding: 2rem clamp(1.25rem, 3vw, 3.5rem) 4rem; }
  .workspace-signed-in > footer { grid-column: 1 / -1; grid-row: 3; }
}
@media (min-width: 761px) and (max-width: 1079px) {
  .room-nav { margin: 1rem 1rem 0; display: grid; grid-template-columns: 1fr; }
  .workspace-identity { display: none; }
  .workspace-primary { display: flex; }
  .workspace-primary > li { flex: 1; }
  #workspace-more { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; border-top: 1px solid #51644b; padding-top: .8rem; }
  #workspace-more ul { display: flex; flex-wrap: wrap; }
  #workspace-more > .workspace-label { display: none; }
  #open-command-palette { width: auto; }
}
@media (max-width: 760px) {
  .workspace-identity { display: none; }
  .compact-workspace .masthead { padding: .6rem 1rem; gap: .4rem; }
  .compact-workspace .wordmark-name { font-size: 1.5rem; }
  .compact-workspace .connection { font-size: .75rem; padding: .25rem .4rem; }
  .compact-workspace .room-nav { display: block; margin: .7rem .6rem 0; padding: .5rem; }
  .compact-workspace .workspace-primary { display: flex; flex-wrap: nowrap; gap: .25rem; width: 100%; }
  /* Four destinations and Menu share one row at 320 px, each as wide as its label needs. */
  .compact-workspace .workspace-primary > li { flex: 1 1 auto; min-width: 0; }
  .compact-workspace .workspace-primary a, .compact-workspace .workspace-primary button { flex-direction: column; width: 100%; min-height: 62px; justify-content: center; gap: .35rem; font-size: .75rem; padding: .45rem .1rem; }
  .compact-workspace .workspace-primary a[aria-current="page"] { box-shadow: inset 0 -2px #ddc78f, inset 0 1px #ffffff0b; }
  .compact-workspace .workspace-primary a::after { display: none; }
  .compact-workspace .workspace-primary #workspace-toggle { background: #18291c; border-color: #56634a; box-shadow: inset 0 1px #ffffff10; }
  .compact-workspace #workspace-toggle[aria-expanded="true"] { color: #f1dfb0; border-color: #bdad78; }
  .compact-workspace #workspace-more { display: none; width: 100%; }
  .compact-workspace .workspace-expanded #workspace-more { display: block; padding: 1rem .4rem .25rem; margin-top: .5rem; border-top: 1px solid #78835c; }
  .compact-workspace #workspace-more ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-workspace #workspace-more a { width: 100%; justify-content: flex-start; padding-inline: .6rem; font-size: .8rem; }
  .compact-workspace #workspace-more a::after { display: none; }
  .compact-workspace #workspace-more .session-actions { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #56634a; justify-content: flex-start; }
  .compact-workspace #workspace-more .greeting { flex-basis: 100%; font-size: .8rem; }
  .compact-workspace .workspace-label { margin-top: .85rem; }
  .collection-sections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
  .collection-sections a { padding-inline: .2rem; font-size: .75rem; }
  .admin-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; }
  .admin-sections a { padding-inline: .3rem; font-size: .75rem; }
  .collection-desk { grid-template-columns: minmax(0, 1fr); }
  .collection-desk > .pack-counter { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .collection-desk .pack-sleeve { display: none; }
  .command-palette { padding: 1rem; }
}
.duel-result-list { display: grid; gap: .75rem; padding: 0; list-style: none; }
.duel-result-list > .duel-result { padding: .75rem 1rem; border: 1px solid #53634c; border-radius: 6px; min-width: 0; overflow-wrap: anywhere; }
.duel-result-list > .duel-result[data-state="voided"] { border-color: #a7894a; }
.duel-result-history, .duel-result-revisions { padding-left: 1.25rem; overflow-wrap: anywhere; }
.duel-result-history > li + li { margin-top: .5rem; }
.duel-correction-form { max-width: 40rem; }
.duel-correction-form textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.duel-corrections .facts dd { overflow-wrap: anywhere; }
