/* ==========================================================================
   VICTORIAN — Build with it (Design Completion Campaign, 2026-09-29).
   The board is printed as the first band of the record's sheet (the room
   marks the place), so it sits inside the bill's frame: centred, dense,
   every field closed by rule or fleuron, every field name in another face
   from the room's case (declared in x-victorian.css). Classes are gvc- or
   scoped to .gm--victorian. Nothing moves.
   ========================================================================== */
.gm--victorian {
  --gm-tag-inverse: var(--gm-color-paper);
  max-width: none; margin: 0; padding: 0.6rem 0 0.4rem;
  background: var(--gm-color-paper); color: var(--gm-color-ink);
  font: 400 1.05rem/1.5 var(--gm-font); text-align: center;
}
.gm--victorian .gm__head { display: block; margin: 0 0 0.6rem; }
.gm--victorian .gm__title { margin: 0.2rem 0 0.4rem; font: 400 var(--gm-size-display-large)/var(--gm-leading-display-large) var(--gm-face-a); text-transform: uppercase; }
.gm--victorian .gm__lede { max-width: 36rem; margin: 0 auto 0.5rem; font-style: italic; }
.gm--victorian .gm__key, .gm--victorian .gm__get { max-width: 36rem; margin: 0.3rem auto 0; opacity: 1; color: var(--gm-color-faded); }
.gm--victorian .gm__get a { color: var(--gm-color-ink); text-decoration-color: var(--gm-color-second); }
.gm--victorian .gm-t { color: var(--gm-color-ink); font-family: var(--gm-font); }
.gm--victorian .gm-t[data-g="record"] { color: var(--gm-color-second); }
.gm--victorian .gm-gap { max-width: 34rem; margin-inline: auto; color: var(--gm-color-faded); opacity: 1; }
.gm--victorian .gm-more { text-align: left; max-width: 38rem; margin-inline: auto; }
.gm--victorian .gm-more summary { text-align: center; color: var(--gm-color-second); }
.gm--victorian .gm-f__note { max-width: 34rem; margin-inline: auto; color: var(--gm-color-faded); opacity: 1; font-style: italic; }

/* Every field a band, closed by a hairline, as the bill closes its bands. */
.gvc-bill > .gvc-f { padding: 0.9rem 0 1rem; border-top: 1px solid var(--gm-color-ink); }
.gvc-bill > .gvc-f:nth-child(3n+1) { border-top: 3px double var(--gm-color-ink); }
.gvc-f .gm-f__head { justify-content: center; gap: 0.5rem; margin-bottom: 0.4rem; }
.gvc-f .gm-f__n { font: italic 400 1rem/1 "PlayfairXI", Georgia, serif; color: var(--gm-color-second); }
.gvc-f .gm-f__name { font-size: clamp(1.4rem, 3.4vw, 2rem); font-weight: 400; line-height: 1.05; }

/* The case, per line: gvc-face-* on specimen lines, gvc-hf-* on a field (its name only). */
.gvc-face-a, .gvc-hf-a .gm-f__name { font-family: var(--gm-face-a); text-transform: uppercase; }
.gvc-face-b, .gvc-hf-b .gm-f__name { font-family: var(--gm-face-b); letter-spacing: 0.08em; }
.gvc-face-c, .gvc-hf-c .gm-f__name { font-family: var(--gm-face-c); font-style: italic; }
.gvc-face-d, .gvc-hf-d .gm-f__name { font-family: var(--gm-face-d); text-transform: uppercase; letter-spacing: 0.18em; }
.gvc-face-e, .gvc-hf-e .gm-f__name { font-family: var(--gm-face-e); text-transform: uppercase; letter-spacing: 0.03em; }
.gvc-l { display: block; margin: 0.2rem 0; font-size: var(--gm-size-display-small); line-height: 1.1; text-wrap: balance; }
.gvc-big { font-size: clamp(1.9rem, 5vw, 2.8rem); }
.gvc-mid { font-size: clamp(1.5rem, 3.4vw, 2.1rem); }
.gvc-second { color: var(--gm-color-second); }
.gvc-text { max-width: 30rem; margin: 0.5rem auto 0; font-size: 1rem; }
.gvc-cap { max-width: 32rem; margin: 0.5rem auto 0; font: italic 400 0.95rem/1.4 var(--gm-font); color: var(--gm-color-faded); }

.gvc-sws { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 1.1rem; margin: 0.7rem 0 0; padding: 0; list-style: none; font-size: 0.85rem; }
.gvc-sws li { display: flex; align-items: center; gap: 0.35rem; }
.gvc-sws span { width: 1.4rem; height: 1.4rem; border: 1px solid var(--gm-color-ink); }
.gvc-sws code { font-size: 0.78rem; color: var(--gm-color-faded); }

.gvc-mini { display: grid; justify-items: center; gap: 5px; width: min(15rem, 100%); margin: 0 auto; padding: 10px; border: 3px double var(--gm-color-ink); }
.gvc-mini i { display: block; height: 6px; background: var(--gm-color-ink); }
.gvc-mini .gvc-thick { height: 14px; }
.gvc-mini b { display: block; width: 100%; border-top: 1px solid var(--gm-color-ink); }
.gvc-mini b.gvc-dbl { border-top: 3px double var(--gm-color-ink); }
.gvc-w50 { width: 50%; } .gvc-w60 { width: 60%; } .gvc-w70 { width: 70%; } .gvc-w80 { width: 80%; } .gvc-w90 { width: 90%; }
.gvc-rules { display: grid; justify-items: center; gap: 10px; max-width: 22rem; margin: 0 auto; }
.gvc-rules span { display: block; width: 100%; }
.gvc-r1 { border-top: 1px solid var(--gm-color-ink); }
.gvc-r2 { border-top: 3px double var(--gm-color-ink); }
.gvc-fl { color: var(--gm-color-second); letter-spacing: 0.8em; padding-inline-start: 0.8em; }

.gvc-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.2rem 0.8rem; margin: 0 0 1rem; font-size: 1.25rem; }
.gvc-nav > span[aria-hidden] { color: var(--gm-color-second); font-size: 1rem; }
.gvc-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--gm-color-ink); text-decoration-color: var(--gm-color-second); text-underline-offset: 0.2em; }
.gvc-nav a:hover { color: var(--gm-color-second); }
.gvc-cur { color: var(--gm-color-second); }
.gvc-card { display: block; max-width: 20rem; margin: 0 auto 1rem; padding: 0.75rem 1rem; border: 3px double var(--gm-color-ink); color: var(--gm-color-ink); text-decoration: none; }
.gvc-card:hover .gvc-face-a { color: var(--gm-color-second); }
.gvc-card:focus-visible { outline: 2px solid var(--gm-color-second); outline-offset: 3px; }
.gvc-form { display: grid; justify-items: center; gap: 0.5rem; max-width: 22rem; margin: 0 auto; }
.gvc-form label { font-size: 0.85rem; }
.gvc-form input { width: 100%; height: 2.75rem; padding: 0 0.4rem; border: 0; border-bottom: 2px solid var(--gm-color-ink); border-radius: 0; background: var(--gm-color-paper); color: var(--gm-color-ink); text-align: center; font: 400 1.05rem var(--gm-font); }
.gvc-form input:focus-visible { outline: 2px solid var(--gm-color-second); outline-offset: 2px; }
.gvc-btn { min-height: 44px; margin-top: 0.4rem; padding: 0.35rem 1.1rem; border: 3px double var(--gm-color-ink); border-radius: 0; background: var(--gm-color-paper); color: var(--gm-color-ink); font-size: 1.15rem !important; font-family: var(--gm-face-e) !important; cursor: pointer; }
.gvc-btn:hover { color: var(--gm-color-second); }
.gvc-btn:active { background: var(--gm-color-ink); color: var(--gm-color-paper); }
.gvc-btn:focus-visible { outline: 2px solid var(--gm-color-second); outline-offset: 3px; }
