/* Papeteria: the organizer entry pages (setup wizard, "sprawdź skrzynkę",
   login) in the same dress as landing A (`landing-papeteria.eta`), so the
   click on "Stwórz grę" no longer walks from a white invitation onto a
   cream card with a brick-red button.

   Loaded after organizer-entry.css and scoped to `body.entry-body-paper`.
   Colours come in through the `--entry-*` tokens; the rules below only
   change shape and type (square corners, Brygada 1918 + Jost, the foil button).

   Rules carried over from the landing:
   - paper #FDFBF6, black ink #1B1915, gold #A98437 / #D8C293;
   - gold is an ornament only (lines, frames, rhombi, progress), never the
     colour of text somebody has to read; the one gold surface is the CTA,
     done as foil on an invitation, with dark text;
   - Brygada 1918 for headings (the landing's serif, _paper-head.eta), Jost
     for the rest.

   The panel is still warm. When it moves over, it needs this file and the
   body class, nothing else. */

.entry-body-paper {
  --entry-bg: #fdfbf6;
  --entry-panel: #ffffff;
  --entry-panel-soft: #f7f2e8;
  --entry-ink: #1b1915;
  --entry-muted: #544d45;
  --entry-subtle: #6b645b;
  --entry-faint: #8a8278;
  --entry-line: #e4dbcb;
  --entry-accent: #1b1915;
  --entry-accent-deep: #1b1915;
  --entry-accent-soft: rgba(27, 25, 21, 0.06);
  --entry-on-accent: #fdfbf6;
  --entry-success: #1b1915;
  --entry-danger: #9b2f24;
  --entry-shadow:
    0 1px 2px rgba(27, 25, 21, 0.06), 0 24px 50px -30px rgba(27, 25, 21, 0.3);

  --entry-sans: "Jost", "Avenir Next", system-ui, sans-serif;
  --entry-serif: "Brygada 1918", Georgia, serif;
  --entry-card: #ffffff;
  --entry-card-line: #e4dbcb;
  --entry-control-line: #d9cfbd;
  --entry-dashed-line: #d8c293;
  --entry-highlight: #d8c293;
  --entry-highlight-bg: #fffcf3;
  --entry-highlight-soft: #f4ecd9;
  --entry-highlight-ink: #544d45;
  --entry-opener-bg: #fffcf3;
  --entry-pick-line: #d8c293;
  --entry-pick-bg: #ffffff;
  --entry-sel-line: #e4dbcb;
  --entry-sel-bg: #ffffff;
  --entry-remove: #8a8278;
  --entry-gold: #a98437;
  --entry-gold-soft: #d8c293;
  --entry-focus-ring: rgba(169, 132, 55, 0.2);
  --entry-scrim: rgba(27, 25, 21, 0.45);

  /* Foil, as on the landing's `.btn-gold`. */
  --entry-foil: linear-gradient(
    115deg,
    #b8913f 0%,
    #e3cb8c 38%,
    #c9a554 58%,
    #e8d39c 80%,
    #b8913f 100%
  );
  --entry-foil-ink: #2a2008;
  /* The menu card's frame: a hairline, 7px of paper, a second hairline. */
  /* The sheet the cards are printed on: a shade under the page, so what
     sits on it (fields, task tiles, the inbox letter) stays white and reads
     as something to touch. White on white, the first version's task tiles
     had nothing to stand out from. */
  --entry-sheet: #faf6ee;
  --entry-frame:
    inset 0 0 0 7px var(--entry-sheet), inset 0 0 0 8px var(--entry-gold-soft);
}

body.entry-body.entry-body-paper {
  font-family: var(--entry-sans);
  font-variant-numeric: lining-nums;
  background: var(--entry-bg);
  -webkit-font-smoothing: antialiased;
}

/* ── letterhead ── */

.entry-body-paper .entry-topbar {
  justify-content: center;
  margin-bottom: clamp(20px, 4vw, 36px);
}

.entry-body-paper .entry-brand {
  color: var(--entry-ink);
  font-family: var(--entry-serif);
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.entry-body-paper .entry-brand span {
  color: var(--entry-gold);
}

/* ── cards: the menu card from the landing ── */

.entry-body-paper .setup-wizard-page {
  width: min(640px, calc(100% - 32px));
}

.entry-body-paper .wizard-step,
.entry-body-paper .setup-complete-shell,
.entry-body-paper .tasks2 .screen {
  border: 1px solid var(--entry-gold-soft);
  border-radius: 0;
  background: var(--entry-sheet);
  box-shadow: var(--entry-frame), var(--entry-shadow);
  padding: clamp(30px, 6vw, 48px) clamp(24px, 6vw, 52px);
}

.entry-body-paper .wizard-step.moments-step {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.entry-body-paper .tasks2 {
  max-width: none;
  font-family: var(--entry-sans);
}

/* The eyebrow, the heading and the form are one block; the generic
   28px grid gap plus the copy's own margin read as three. */
.entry-body-paper .wizard-step {
  gap: 20px;
}

.entry-body-paper .section-eyebrow {
  margin-bottom: 0;
}

.entry-body-paper .setup-start-copy {
  margin-bottom: 12px;
}

@media (max-width: 720px) {
  .entry-body-paper .wizard-step,
  .entry-body-paper .setup-complete-shell,
  .entry-body-paper .tasks2 .screen {
    padding: 30px 22px;
  }
}

/* A phone has no room for a frame and a page margin and a card margin:
   the task list keeps the frame but loses most of its inner padding. */
@media (max-width: 480px) {
  .entry-body-paper .setup-wizard-page {
    width: calc(100% - 24px);
  }

  .entry-body-paper .tasks2 .screen {
    padding: 28px 16px;
  }
}

/* Under 400px the double frame costs the task descriptions a third line:
   the card keeps its outer rule, drops the inner one, and the tiles move
   closer to the edge and pack their columns tighter. */
@media (max-width: 400px) {
  .entry-body-paper .setup-wizard-page {
    width: calc(100% - 16px);
  }

  .entry-body-paper .tasks2 .screen {
    box-shadow: var(--entry-shadow);
    padding: 26px 12px;
  }

  .entry-body-paper .tasks2 .row,
  .entry-body-paper .tasks2 .t2-milestone,
  .entry-body-paper .tasks2 .rowAdd {
    gap: 9px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ── type ── */

.entry-body-paper .section-eyebrow,
.entry-body-paper .tasks2 .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--entry-muted);
  font-family: var(--entry-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.entry-body-paper .section-eyebrow::before,
.entry-body-paper .tasks2 .eyebrow::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--entry-gold);
  transform: rotate(45deg);
}

.entry-body-paper .setup-start-copy h1,
.entry-body-paper .setup-complete-shell h1,
.entry-body-paper .tasks2 .h1,
.entry-body-paper .exitint-h {
  font-family: var(--entry-serif);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.08;
  text-wrap: balance;
}

.entry-body-paper .setup-start-copy h1,
.entry-body-paper .setup-complete-shell h1 {
  font-size: clamp(32px, 5vw, 44px);
}

.entry-body-paper .tasks2 .h1 {
  font-size: clamp(28px, 4.4vw, 36px);
  margin: 14px 0 10px;
}

.entry-body-paper .exitint-h {
  font-size: 26px;
}

.entry-body-paper .setup-start-copy p,
.entry-body-paper .setup-complete-shell > p,
.entry-body-paper .tasks2 .sub {
  color: var(--entry-muted);
  font-size: 16px;
  line-height: 1.65;
}

.entry-body-paper .tasks2 .sub b,
.entry-body-paper .setup-complete-shell strong {
  font-weight: 600;
  color: var(--entry-ink);
}

.entry-body-paper .setup-start-note,
.entry-body-paper .setup-start-micro,
.entry-body-paper .setup-login-hint {
  color: var(--entry-faint);
  font-size: 13px;
}

/* ── links ── */

.entry-body-paper .setup-login-hint a,
.entry-body-paper .entry-consent a,
.entry-body-paper .setup-start-micro a,
.entry-body-paper .exitint-micro a {
  color: var(--entry-ink);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--entry-gold-soft);
  text-underline-offset: 3px;
}

.entry-body-paper .setup-login-hint a:hover,
.entry-body-paper .entry-consent a:hover {
  text-decoration-color: var(--entry-ink);
}

.entry-body-paper .wizard-back-link,
.entry-body-paper .exitint-ghost {
  color: var(--entry-muted);
  font-family: var(--entry-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* ── buttons ── */

.entry-body-paper .entry-button,
.entry-body-paper .tasks2 .cta,
.entry-body-paper .exitint-cta {
  border-radius: 2px;
  font-family: var(--entry-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.entry-body-paper .entry-button-primary,
.entry-body-paper .tasks2 .tasks2-save,
.entry-body-paper .tasks2 .cta,
.entry-body-paper .exitint-cta {
  border: none;
  border-radius: 2px;
  background: var(--entry-foil);
  background-size: 200% 100%;
  background-position: 0% 0;
  color: var(--entry-foil-ink);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.35),
    0 12px 26px -14px rgba(140, 104, 30, 0.8);
  transition:
    background-position 0.5s ease,
    box-shadow 0.2s ease,
    opacity 0.2s ease;
}

.entry-body-paper .entry-button-primary:hover,
.entry-body-paper .tasks2 .tasks2-save:hover,
.entry-body-paper .tasks2 .cta:hover,
.entry-body-paper .exitint-cta:hover {
  transform: none;
  background: var(--entry-foil);
  background-size: 200% 100%;
  background-position: 100% 0;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.45),
    0 16px 30px -14px rgba(140, 104, 30, 0.9);
}

.entry-body-paper .entry-button-secondary {
  border: 1px solid var(--entry-ink);
  background: transparent;
  color: var(--entry-ink);
}

.entry-body-paper .entry-button-secondary:hover {
  transform: none;
  box-shadow: none;
  background: var(--entry-accent-soft);
}

.entry-body-paper .entry-button:focus-visible,
.entry-body-paper .tasks2 button:focus-visible,
.entry-body-paper .exitint-modal button:focus-visible,
.entry-body-paper .wizard-back-link:focus-visible {
  outline: 2px solid var(--entry-ink);
  outline-offset: 3px;
}

.entry-body-paper .tasks2 .comp-save {
  padding: 11px 18px;
  font-size: 12px;
}

/* ── form fields ── */

.entry-body-paper .entry-field {
  gap: 10px;
}

.entry-body-paper .entry-field > span:first-child {
  color: var(--entry-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.entry-body-paper .entry-input,
.entry-body-paper .tasks2 .inp,
.entry-body-paper .exitint-input {
  border: 1px solid var(--entry-control-line);
  border-radius: 2px;
  background: var(--entry-card);
  color: var(--entry-ink);
  font-family: var(--entry-sans);
  font-size: 16px;
}

.entry-body-paper .entry-input:focus,
.entry-body-paper .tasks2 .inp:focus,
.entry-body-paper .exitint-input:focus {
  outline: none;
  border-color: var(--entry-gold);
  box-shadow: 0 0 0 3px var(--entry-focus-ring);
}

.entry-body-paper .entry-input::placeholder,
.entry-body-paper .tasks2 .inp::placeholder,
.entry-body-paper .exitint-input::placeholder {
  color: var(--entry-faint);
}

.entry-body-paper .entry-input-error {
  border-color: var(--entry-danger);
}

.entry-body-paper .entry-consent {
  font-size: 15px;
  color: var(--entry-muted);
}

.entry-body-paper .entry-consent input[type="checkbox"] {
  accent-color: var(--entry-ink);
}

.entry-body-paper .entry-message {
  border-radius: 2px;
  font-size: 15px;
}

.entry-body-paper .entry-message-error {
  background: rgba(155, 47, 36, 0.05);
  border: 1px solid rgba(155, 47, 36, 0.28);
}

.entry-body-paper .entry-message-info {
  background: var(--entry-card);
  border: 1px solid var(--entry-line);
}

.entry-body-paper .wizard-progress {
  height: 2px;
  border-radius: 0;
  background: var(--entry-line);
}

.entry-body-paper .wizard-progress span {
  background: var(--entry-gold);
}

/* ── the check-your-inbox letter ── */

.entry-body-paper .magic-email-preview {
  border-radius: 0;
  background: var(--entry-card);
  box-shadow: none;
}

.entry-body-paper .magic-email-subject {
  font-family: var(--entry-serif);
  font-weight: 400;
}

/* ── step 2: the task editor ──
   A working tool inside the invitation, so it keeps the frame, the palette
   and the foil button, but not the stationery's sharp corners and wide
   tracking: a first version with square rows, Caslon task names and
   uppercase labels everywhere read heavy next to the warm editor it
   replaced. Rounded rows, sans names at the old size, one quiet label
   style. */

.entry-body-paper .tasks2 .h1 {
  font-size: clamp(26px, 4vw, 32px);
  margin: 0 0 8px;
}

.entry-body-paper .tasks2 .sub {
  font-size: 15px;
  line-height: 1.55;
}

.entry-body-paper .tasks2 .secLab {
  color: var(--entry-faint);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.entry-body-paper .tasks2 .tname {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.entry-body-paper .tasks2 .tdesc {
  color: var(--entry-subtle);
  font-size: 13px;
  line-height: 1.4;
}

.entry-body-paper .tasks2 .row,
.entry-body-paper .tasks2 .rowAdd,
.entry-body-paper .tasks2 .opCard,
.entry-body-paper .tasks2 .comp {
  border-width: 1px;
  border-radius: 12px;
}

.entry-body-paper .tasks2 .rowAdd:hover,
.entry-body-paper .tasks2 .opCard:hover {
  border-color: var(--entry-gold-soft);
}

.entry-body-paper .tasks2 .opCard .tname {
  font-size: 16px;
}

.entry-body-paper .tasks2 .recTag {
  border-radius: 99px;
  background: var(--entry-highlight-soft);
  color: var(--entry-muted);
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 3px 8px;
}

.entry-body-paper .tasks2 .split {
  color: var(--entry-muted);
  font-weight: 500;
  letter-spacing: 0.08em;
}

.entry-body-paper .tasks2 .split .ln {
  border-top: 1px solid var(--entry-gold-soft);
}

.entry-body-paper .tasks2 .split.grey {
  color: var(--entry-faint);
}

.entry-body-paper .tasks2 .split.grey .ln {
  border-top-color: var(--entry-line);
}

.entry-body-paper .tasks2 .lab {
  font-weight: 500;
  letter-spacing: 0.08em;
}

.entry-body-paper .tasks2 .ordBtn,
.entry-body-paper .tasks2 .iconBtn {
  border-radius: 8px;
}

.entry-body-paper .tasks2 .addBtn {
  border: 1px solid var(--entry-gold-soft);
  background: transparent;
  color: var(--entry-ink);
  font-weight: 400;
}

.entry-body-paper .tasks2 .opCard-chev {
  color: var(--entry-gold);
  font-size: 22px;
  font-weight: 400;
}

.entry-body-paper .tasks2 .linkBtn {
  font-weight: 500;
  font-size: 12px;
  text-decoration: underline;
  text-decoration-color: var(--entry-gold-soft);
  text-underline-offset: 3px;
}

.entry-body-paper .tasks2 .chip {
  border-width: 1px;
  border-radius: 99px;
  font-weight: 500;
}

.entry-body-paper .tasks2 .ghost {
  border: 1px dashed var(--entry-dashed-line);
  border-radius: 12px;
  color: var(--entry-muted);
  font-size: 14px;
  font-weight: 500;
}

.entry-body-paper .tasks2 .ghost:hover {
  border-style: solid;
  color: var(--entry-ink);
}

.entry-body-paper .tasks2 .foot,
.entry-body-paper .moments-step .setup-start-note {
  color: var(--entry-faint);
  font-size: 13px;
}

/* The dock: same tray, paper stock, foil button. */
.entry-body-paper .tasks2 .t2-dock {
  border-color: var(--entry-gold-soft);
  border-radius: 12px;
  box-shadow: 0 16px 34px -16px rgba(27, 25, 21, 0.4);
}

.entry-body-paper .tasks2 .t2count {
  font-weight: 500;
  font-size: 15px;
}

.entry-body-paper .tasks2 .t2msg {
  color: var(--entry-faint);
}

.entry-body-paper .tasks2 .t2-dock .tasks2-save {
  min-height: 46px;
  padding: 0 20px;
  font-size: 13px;
  letter-spacing: 0.14em;
}

/* Headings sit on the axis the step marks and the frame already draw;
   everything you act on (fields, the list) stays left-aligned. */
.entry-body-paper .setup-start-copy,
.entry-body-paper .tasks2 .h1,
.entry-body-paper .tasks2 .sub,
.entry-body-paper .setup-complete-shell > h1,
.entry-body-paper .setup-complete-shell > h1 + p {
  text-align: center;
}

.entry-body-paper .setup-complete-shell > .section-eyebrow {
  justify-self: center;
}

.entry-body-paper .tasks2 .split.lead {
  color: var(--entry-muted);
}

.entry-body-paper .tasks2 .split.lead .ln {
  border-top: 1px solid var(--entry-gold);
}

.entry-body-paper .tasks2 .t2-libhead-orn::before,
.entry-body-paper .tasks2 .t2-libhead-orn::after {
  background: var(--entry-gold);
  opacity: 0.7;
}

/* The rhombus between the hairlines, as on the landing. */
.entry-body-paper .tasks2 .t2-libhead-orn > i {
  background: var(--entry-gold);
}

.entry-body-paper .tasks2 .t2-libhead-title {
  font-weight: 400;
  font-size: 26px;
}

.entry-body-paper .tasks2 .t2-libhead-sub {
  color: var(--entry-faint);
}

.entry-body-paper .tasks2 .t2-dock-scale .pip.band {
  border-color: var(--entry-gold);
}

.entry-body-paper .tasks2 .t2-dock-scale.is-in .pip.on {
  background: var(--entry-gold);
  border-color: var(--entry-gold);
}

/* Step marks centred between two gold hairlines, the landing's ornament. */
.entry-body-paper .wizard-dots {
  justify-content: center;
  margin-bottom: 18px;
}

.entry-body-paper .wizard-dots::before,
.entry-body-paper .wizard-dots::after {
  content: "";
  width: min(96px, 18vw);
  height: 1px;
  background: var(--entry-gold);
  opacity: 0.7;
}

.entry-body-paper .wizard-dots::before {
  margin-right: 8px;
}

.entry-body-paper .wizard-dots::after {
  margin-left: 8px;
}

.entry-body-paper .tasks2 .t2-milestone {
  border-width: 1px;
  border-radius: 12px;
}

.entry-body-paper .tasks2 .t2-milestone .tname {
  color: var(--entry-ink);
  font-weight: 500;
}

.entry-body-paper .tasks2 .t2-milestone-when {
  color: var(--entry-gold);
  font-weight: 500;
}

/* ── exit modal: a small card of the same stock ── */

.entry-body-paper .exitint-modal {
  border: 1px solid var(--entry-gold-soft);
  border-radius: 0;
  background: var(--entry-sheet);
  box-shadow:
    var(--entry-frame),
    0 24px 60px -16px rgba(27, 25, 21, 0.5);
  padding: 32px 26px 24px;
  font-family: var(--entry-sans);
}

.entry-body-paper .exitint-close {
  top: 16px;
  right: 16px;
  border-radius: 0;
  background: transparent;
}

.entry-body-paper .magic-email-preview .entry-button {
  min-height: 48px;
  padding: 0 20px;
  font-size: 13px;
  letter-spacing: 0.12em;
}

/* ── "gra gotowa": the couple and the date as two place cards ── */

.entry-body-paper .panel-cell {
  border: 1px solid var(--entry-line);
  border-radius: 0;
  background: var(--entry-card);
}

.entry-body-paper .panel-cell-label {
  font-weight: 500;
  letter-spacing: 0.2em;
}

.entry-body-paper .panel-cell-value {
  font-family: var(--entry-serif);
  font-size: 20px;
  font-weight: 400;
}

.entry-body-paper .setup-complete-actions {
  display: grid;
}

/* ══════════════════════════════════════════════════════════════════════
   Panel organizatora (hub + wybór wesela), on trial behind ?skorka=papier.

   Same DOM as the warm panel; only the dress changes. The panel is a tool,
   so it borrows the task editor's register rather than the landing's: the
   card is the menu-card frame, everything inside it is a white tile with
   12px corners on the sheet. The serif is kept for what would be printed on
   an invitation (the couple, the numbers, the guest code); every control and
   label stays Jost, at 600 for anything you tap: the warm panel's bold
   titles are what made it scan quickly, and Jost 500 read as faint.

   Denser than the wizard on purpose. The wizard is one question per screen;
   the hub is a page people come back to and scan, so it has a single
   hairline instead of the menu-card frame and tighter tiles on a phone.
   ══════════════════════════════════════════════════════════════════════ */

.entry-body-paper {
  /* A hairline with a rhombus in the middle: the landing's ornament. */
  --entry-orn-rule: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='9' viewBox='0 0 132 9'%3E%3Cpath d='M0 4.5h56M76 4.5h56' stroke='%23d8c293' stroke-width='1'/%3E%3Cpath d='M66 0.5l4 4-4 4-4-4z' fill='%23a98437'/%3E%3C/svg%3E");
  --entry-live: #4f7a4a;
}

/* One hairline, no inset frame: on a long page the double rule read as a
   border around a border, and it cost a phone 16px of width. */
.entry-body-paper .setup-complete-shell:has(> .panel-topbar) {
  border-color: var(--entry-line);
  border-radius: 4px;
  background: var(--entry-sheet);
  box-shadow: var(--entry-shadow);
}

@media (max-width: 720px) {
  .entry-body-paper .setup-complete-shell:has(> .panel-topbar) {
    padding: 22px 18px;
  }
}

@media (max-width: 400px) {
  .entry-body-paper .entry-page:has(.panel-topbar) {
    width: calc(100% - 20px);
  }

  .entry-body-paper .setup-complete-shell:has(> .panel-topbar) {
    padding: 20px 14px;
  }
}

/* ── top row: the letterhead ── */

.entry-body-paper .panel-topbar {
  border-bottom-color: var(--entry-line);
}

.entry-body-paper .panel-topbar-brand {
  color: var(--entry-ink);
  font-family: var(--entry-serif);
  font-size: 19px;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-transform: none;
  opacity: 1;
}

.entry-body-paper .panel-topbar-brand span {
  color: var(--entry-gold);
}

.entry-body-paper .panel-topbar-back {
  color: var(--entry-ink);
  font-weight: 500;
}

.entry-body-paper .panel-topbar-back-couple {
  color: var(--entry-muted);
  font-weight: 400;
}

/* The couple's initials as a monogram, not an app avatar. */
.entry-body-paper .panel-account-avatar {
  border: 1px solid var(--entry-gold);
  background: var(--entry-card);
  color: var(--entry-ink);
  font-family: var(--entry-serif);
  font-size: 14px;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

.entry-body-paper .panel-account-trigger:focus-visible {
  outline-color: var(--entry-ink);
}

.entry-body-paper .panel-account-menu {
  border-color: var(--entry-gold-soft);
  border-radius: 4px;
  background: var(--entry-card);
  box-shadow: 0 18px 40px -16px rgba(27, 25, 21, 0.35);
}

.entry-body-paper .panel-account-item {
  border-radius: 2px;
  font-weight: 500;
}

.entry-body-paper .panel-account-item:hover {
  background: var(--entry-sheet);
}

.entry-body-paper .panel-account-email {
  font-weight: 500;
}

.entry-body-paper .panel-account-count {
  background: var(--entry-highlight-soft);
  color: var(--entry-ink);
  font-weight: 600;
}

/* ── labels: one quiet style everywhere ── */

.entry-body-paper .panel-cell-label {
  color: var(--entry-muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
}

/* Section heads carry the rhombus, as the wizard's step marks do. */
.entry-body-paper .panel-check-head .panel-cell-label,
.entry-body-paper .panel-entry-card-head .panel-cell-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.entry-body-paper .panel-check-head .panel-cell-label::before,
.entry-body-paper .panel-entry-card-head .panel-cell-label::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--entry-gold);
  transform: rotate(45deg);
}

/* ── hero: the couple as on an invitation ── */

.entry-body-paper .panel-hero {
  justify-items: center;
  gap: 0;
  padding: 4px 0 2px;
  text-align: center;
}

.entry-body-paper .panel-hero h1 {
  font-size: clamp(32px, 6vw, 44px);
  font-weight: 500;
}

.entry-body-paper .panel-hero h1::after {
  content: "";
  display: block;
  width: 132px;
  height: 9px;
  margin: 12px auto 0;
  background: var(--entry-orn-rule) center / contain no-repeat;
}

.entry-body-paper .panel-hero-status {
  justify-content: center;
  gap: 6px 12px;
  margin-top: 12px;
}

.entry-body-paper .panel-hero-sub {
  color: var(--entry-muted);
  font-size: 15px;
}

.entry-body-paper .panel-chip {
  gap: 8px;
  padding: 5px 11px;
  border: 1px solid var(--entry-line);
  border-radius: 2px;
  background: var(--entry-card);
  color: var(--entry-muted);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.entry-body-paper .panel-chip-test {
  border-color: var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
  color: var(--entry-ink);
}

.entry-body-paper .panel-chip-test::before {
  content: "";
  width: 5px;
  height: 5px;
  border: 1px solid var(--entry-gold);
  transform: rotate(45deg);
}

.entry-body-paper .panel-chip-active {
  border-color: rgba(79, 122, 74, 0.35);
  background: var(--entry-card);
  color: var(--entry-ink);
}

.entry-body-paper .panel-chip-active::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--entry-live);
}

/* ── flash messages ── */

.entry-body-paper .entry-message-success {
  border: 1px solid var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
  color: var(--entry-ink);
}

.entry-body-paper .entry-message-success::before {
  content: "✓";
  margin-right: 8px;
  color: var(--entry-gold);
}

/* ── tiles on the sheet: checklist, live rows, nav cards, guest entry ── */

.entry-body-paper .panel-check,
.entry-body-paper .panel-live,
.entry-body-paper .panel-card,
.entry-body-paper .panel-entry-card {
  border: 1px solid var(--entry-card-line);
  border-radius: 12px;
  background: var(--entry-card);
  box-shadow: none;
}

/* ── checklist: the running order of the preparations ── */

.entry-body-paper .panel-check {
  padding: 16px 14px 12px;
}

.entry-body-paper .panel-check-head {
  margin-bottom: 12px;
}

.entry-body-paper .panel-progress {
  height: 2px;
  border-radius: 0;
  background: var(--entry-line);
}

.entry-body-paper .panel-progress span {
  border-radius: 0;
  background: var(--entry-gold);
}

.entry-body-paper .panel-check-list {
  gap: 2px;
  margin-top: 10px;
}

.entry-body-paper .panel-check-row {
  padding: 9px 10px;
  border-radius: 10px;
}

.entry-body-paper a.panel-check-row:hover {
  background: var(--entry-sheet);
}

.entry-body-paper .panel-check-row.is-current {
  background: var(--entry-highlight-bg);
  box-shadow: inset 0 0 0 1px var(--entry-gold-soft);
}

.entry-body-paper .panel-check-marker {
  width: 26px;
  height: 26px;
  border: 1px solid var(--entry-control-line);
  background: var(--entry-card);
  color: var(--entry-muted);
  font-size: 13px;
  font-weight: 600;
}

.entry-body-paper .panel-check-row.is-current .panel-check-marker {
  border-color: var(--entry-ink);
  background: var(--entry-ink);
  color: var(--entry-bg);
}

.entry-body-paper .panel-check-row.is-done .panel-check-marker {
  border-color: var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
  color: var(--entry-gold);
  font-family: var(--entry-sans);
  font-size: 13px;
}

.entry-body-paper .panel-check-body {
  padding-top: 3px;
}

.entry-body-paper .panel-check-label {
  font-size: 15px;
  font-weight: 600;
}

.entry-body-paper .panel-check-row.is-done .panel-check-label {
  color: var(--entry-subtle);
  font-weight: 500;
}

.entry-body-paper .panel-check-hint {
  color: var(--entry-muted);
  font-size: 13.5px;
}

.entry-body-paper .panel-check-arrow {
  color: var(--entry-ink);
  font-weight: 400;
}

.entry-body-paper .panel-check-row.is-done .panel-check-arrow,
.entry-body-paper
  .panel-check-row:not(.is-current):not(.is-done)
  .panel-check-arrow {
  color: var(--entry-faint);
}

.entry-body-paper .panel-check-activate {
  margin-top: 8px;
  padding: 11px 18px;
  font-size: 12px;
  letter-spacing: 0.14em;
}

.entry-body-paper .panel-contact-inline {
  margin-top: 14px;
}

/* ── live rows (active game) ── */

.entry-body-paper .panel-live:hover {
  border-color: var(--entry-gold-soft);
}

.entry-body-paper .panel-live-dot {
  background: var(--entry-live);
}

.entry-body-paper .panel-live-stats {
  font-family: var(--entry-serif);
  font-size: 20px;
  font-weight: 400;
}

.entry-body-paper .panel-schedule .panel-schedule-icon {
  color: var(--entry-gold);
}

/* ── nav cards ── */

.entry-body-paper .panel-card {
  gap: 12px;
  padding: 12px 14px;
}

@media (max-width: 640px) {
  .entry-body-paper .panel-cards {
    gap: 8px;
  }
}

.entry-body-paper .panel-card:hover {
  border-color: var(--entry-gold-soft);
  transform: none;
  box-shadow: 0 10px 22px -16px rgba(27, 25, 21, 0.35);
}

/* Each icon in a hairline ring, like a monogram seal. */
.entry-body-paper .panel-card-emoji {
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--entry-gold-soft);
  border-radius: 50%;
  background: var(--entry-highlight-bg);
  color: var(--entry-ink);
}

.entry-body-paper .panel-card-emoji svg {
  width: 17px;
  height: 17px;
  stroke-width: 1.6;
}

.entry-body-paper .panel-card-title {
  font-size: 15px;
  font-weight: 600;
}

.entry-body-paper .panel-card-meta {
  color: var(--entry-subtle);
}

/* "Otwórz grę": a gold hairline and the serif title, so the one card that
   leads into the game reads as the way in without shouting. */
.entry-body-paper .panel-card-primary {
  border-color: var(--entry-gold-soft);
  background: var(--entry-card);
}

.entry-body-paper .panel-card-primary .panel-card-emoji {
  border-color: var(--entry-gold);
  color: var(--entry-ink);
}

.entry-body-paper .panel-card-primary .panel-card-title {
  font-family: var(--entry-serif);
  font-size: 19px;
  font-weight: 500;
}

.entry-body-paper .panel-card-extras {
  border-style: dashed;
  border-color: var(--entry-dashed-line);
  background: transparent;
}

.entry-body-paper .theme-card-swatch.theme-card-swatch-mini {
  border-radius: 50%;
}

/* ── extras banner ── */

.entry-body-paper .extras-banner {
  border: 1px solid var(--entry-gold-soft);
  border-radius: 12px;
  background: var(--entry-highlight-bg);
}

.entry-body-paper .extras-banner-icon {
  color: var(--entry-gold);
}

.entry-body-paper .extras-banner-title {
  font-weight: 600;
}

.entry-body-paper .extras-banner .entry-button {
  min-height: 0;
  padding: 10px 16px;
  font-size: 12px;
}

/* ── guest entry: a place card ── */

.entry-body-paper .panel-entry-card {
  padding: 16px 14px;
}

.entry-body-paper .panel-entry {
  gap: 16px;
  margin-top: 12px;
}

/* Corner marks around the code, as on the printed table tents. */
.entry-body-paper .panel-qr-code {
  --c: var(--entry-gold);
  padding: 10px;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(var(--c), var(--c)) top left / 14px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) top left / 1px 14px no-repeat,
    linear-gradient(var(--c), var(--c)) top right / 14px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) top right / 1px 14px no-repeat,
    linear-gradient(var(--c), var(--c)) bottom left / 14px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) bottom left / 1px 14px no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / 14px 1px no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / 1px 14px no-repeat,
    #fff;
}

.entry-body-paper .panel-entry-actions .entry-button {
  min-height: 42px;
  padding: 0 12px;
  font-size: 11.5px;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

/* Secondary buttons inside the panel take a paper-coloured hairline rather
   than the wizard's black outline: there are three of them on the hub, and
   in ink they outweighed the one gold button they stand next to. */
.entry-body-paper
  .setup-complete-shell:has(> .panel-topbar)
  .entry-button-secondary {
  border-color: var(--entry-control-line);
  background: var(--entry-card);
}

.entry-body-paper
  .setup-complete-shell:has(> .panel-topbar)
  .entry-button-secondary:hover {
  border-color: var(--entry-gold);
  background: var(--entry-card);
}

.entry-body-paper .panel-linkbox-url {
  color: var(--entry-ink);
  font-size: 14px;
  font-weight: 500;
}

.entry-body-paper .panel-copy-btn {
  padding: 8px 14px;
  font-size: 11px;
  letter-spacing: 0.14em;
}

.entry-body-paper .panel-entry-code-label {
  font-weight: 500;
  letter-spacing: 0.18em;
}

.entry-body-paper .panel-entry-code {
  padding: 0 0 2px 0.3em;
  border: 0;
  border-bottom: 1px solid var(--entry-gold-soft);
  border-radius: 0;
  background: none;
  color: var(--entry-ink);
  font-family: var(--entry-serif);
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0.3em;
}

/* ── quiet lines at the bottom ── */

.entry-body-paper .panel-lang-link {
  border-color: var(--entry-dashed-line);
  border-radius: 12px;
  color: var(--entry-muted);
}

.entry-body-paper .panel-lang-link:hover {
  border-color: var(--entry-gold);
}

.entry-body-paper .panel-lang-link .panel-check-arrow {
  color: var(--entry-faint);
}

.entry-body-paper .setup-complete-shell > .panel-note {
  color: var(--entry-subtle);
  font-family: var(--entry-serif);
  font-size: 14px;
  font-style: italic;
  line-height: 1.5;
  text-align: center;
}

.entry-body-paper .panel-contact-link {
  font-weight: 500;
}

.entry-body-paper .panel-contact-link:hover,
.entry-body-paper .panel-contact-face:hover,
.entry-body-paper .panel-contact-face:focus-visible {
  border-color: var(--entry-gold);
}

.entry-body-paper .panel-contact-face:hover,
.entry-body-paper .panel-contact-face:focus-visible {
  box-shadow: 0 0 0 2px var(--entry-gold-soft);
}

/* ── activation: the step and its modal ── */

.entry-body-paper .activate-timeline-end small {
  font-weight: 500;
}

.entry-body-paper .activate-timeline-end b {
  font-weight: 500;
}

.entry-body-paper .activate-timeline-line {
  background: var(--entry-gold-soft);
}

.entry-body-paper .activate-timeline-line > span {
  background: var(--entry-sheet);
}

.entry-body-paper .activate-fact-keep::before {
  color: var(--entry-gold);
}

.entry-body-paper .panel-check-activate-link {
  color: var(--entry-ink);
  font-weight: 600;
  text-decoration-color: var(--entry-gold-soft);
}

/* ── wedding chooser (/organizer) ── */

.entry-body-paper .wedding-row,
.entry-body-paper .wedding-card {
  border: 1px solid var(--entry-card-line);
  border-radius: 12px;
  background: var(--entry-card);
  box-shadow: none;
}

.entry-body-paper .wedding-row:hover,
.entry-body-paper .wedding-row:focus-visible {
  border-color: var(--entry-gold-soft);
  transform: none;
  box-shadow: 0 10px 22px -16px rgba(27, 25, 21, 0.35);
}

.entry-body-paper .wedding-row-title,
.entry-body-paper .wedding-card-title {
  font-family: var(--entry-serif);
  font-weight: 500;
  letter-spacing: -0.01em;
}

.entry-body-paper .wedding-row-open {
  color: var(--entry-ink);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.entry-body-paper .wedding-row-role,
.entry-body-paper .wedding-card-role {
  color: var(--entry-faint);
  font-weight: 500;
}

.entry-body-paper .section-label {
  color: var(--entry-muted);
  font-weight: 500;
  letter-spacing: 0.2em;
}

/* ══════════════════════════════════════════════════════════════════════
   Hub, układ "jedna lista" (organizer-hub.eta). Only papeteria renders it.

   One loud thing per phase: the checklist before activation, the counters
   and the QR code on the day, the download after. Everything else is the
   quiet list at the bottom: rows on the sheet with no frame around them.
   ══════════════════════════════════════════════════════════════════════ */

.entry-body-paper .panel-shell.hub {
  gap: 14px;
}

.entry-body-paper .hub-hero {
  display: grid;
  gap: 8px;
  text-align: center;
}

.entry-body-paper .hub-hero h1 {
  margin: 0;
  font-family: var(--entry-serif);
  font-size: clamp(32px, 6vw, 42px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.entry-body-paper .hub-hero p {
  margin: 0;
  color: var(--entry-muted);
  font-size: 14.5px;
}

.entry-body-paper .hub-chip {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border: 1px solid var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
  color: var(--entry-ink);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  vertical-align: 1px;
}

.entry-body-paper .hub-card {
  display: block;
  padding: 14px;
  border: 1px solid var(--entry-card-line);
  border-radius: 12px;
  background: var(--entry-card);
  color: inherit;
  text-decoration: none;
}

.entry-body-paper .hub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--entry-muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.entry-body-paper .hub-head > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.entry-body-paper .hub-head > span:first-child::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--entry-gold);
  transform: rotate(45deg);
}

.entry-body-paper .hub-count {
  color: var(--entry-ink);
  font-weight: 600;
}

.entry-body-paper .hub-progress {
  height: 2px;
  margin: 10px 0 4px;
  background: var(--entry-line);
}

.entry-body-paper .hub-progress span {
  display: block;
  height: 100%;
  background: var(--entry-gold);
  transition: width 300ms ease;
}

/* ── rows: the same shape in the checklist, "Wasza gra" and the quiet list ── */

.entry-body-paper .hub-rows {
  margin: 0;
  padding: 0;
  list-style: none;
}

.entry-body-paper .hub-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 2px;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.entry-body-paper .hub-rows li + li .hub-row,
.entry-body-paper .hub-quiet .hub-row + .hub-row {
  border-top: 1px solid var(--entry-line);
}

.entry-body-paper .hub-row-body {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}

.entry-body-paper .hub-row-body b {
  font-size: 15px;
  font-weight: 600;
}

.entry-body-paper .hub-row-body small {
  color: var(--entry-muted);
  font-size: 13.5px;
  line-height: 1.45;
}

.entry-body-paper .hub-row em {
  flex: none;
  max-width: 55%;
  overflow: hidden;
  color: var(--entry-subtle);
  font-size: 13px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.entry-body-paper .hub-arrow {
  flex: none;
  color: var(--entry-faint);
  transition: transform 140ms ease;
}

.entry-body-paper .hub-row:hover .hub-arrow {
  color: var(--entry-ink);
  transform: translateX(2px);
}

.entry-body-paper .hub-row:focus-visible {
  outline: 2px solid var(--entry-ink);
  outline-offset: 2px;
  border-radius: 8px;
}

/* The step to do now: opened up, on a warmer stock, with one sentence. */
.entry-body-paper .hub-row.is-current {
  align-items: flex-start;
  margin: 4px 0;
  padding: 12px 10px;
  border-radius: 10px;
  background: var(--entry-highlight-bg);
  box-shadow: inset 0 0 0 1px var(--entry-gold-soft);
}

.entry-body-paper .hub-rows li + li .hub-row.is-current,
.entry-body-paper .hub-rows li:has(.is-current) + li .hub-row {
  border-top: 0;
}

.entry-body-paper .hub-row.is-current .hub-arrow {
  align-self: center;
  color: var(--entry-ink);
}

.entry-body-paper .hub-mark {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid var(--entry-control-line);
  border-radius: 50%;
  color: var(--entry-muted);
  font-size: 11px;
  font-weight: 600;
}

.entry-body-paper .hub-mark.is-done {
  border-color: var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
  color: var(--entry-gold);
}

.entry-body-paper .hub-mark.is-current {
  border-color: var(--entry-ink);
  background: var(--entry-ink);
  color: var(--entry-bg);
}

.entry-body-paper .hub-row.is-current .hub-mark {
  margin-top: 1px;
}

.entry-body-paper .hub-activate-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  margin-top: 8px;
}

.entry-body-paper .hub-small {
  min-height: 36px;
  padding: 0 16px;
  font-size: 11px;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.entry-body-paper .hub-link {
  padding: 0;
  border: 0;
  background: none;
  color: var(--entry-ink);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-color: var(--entry-gold-soft);
  text-underline-offset: 3px;
  cursor: pointer;
}

.entry-body-paper .hub-list {
  padding: 14px 14px 10px;
}

.entry-body-paper .hub-list .hub-head + .hub-rows {
  margin-top: 4px;
}

.entry-body-paper .hub-list .panel-contact-inline {
  margin-top: 6px;
  padding: 12px 2px 2px;
}

/* ── the quiet list: no frame, smaller ── */

.entry-body-paper .hub-quiet {
  display: grid;
  padding: 0 4px;
}

.entry-body-paper .hub-quiet .hub-row {
  padding: 11px 0;
}

.entry-body-paper .hub-quiet .hub-row-body b {
  font-size: 14px;
  font-weight: 500;
}

.entry-body-paper .hub-gift .hub-row-body b::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 8px;
  background: var(--entry-gold);
  transform: rotate(45deg);
  vertical-align: 2px;
}

/* ── guest entry ── */

.entry-body-paper .hub-guest {
  display: flex;
  align-items: center;
  gap: 14px;
}

.entry-body-paper .hub-qr {
  flex: none;
  width: 92px;
  height: 92px;
  padding: 4px;
  border: 1px solid var(--entry-line);
  background: #fff;
}

.entry-body-paper .hub-qr svg {
  display: block;
  width: 100%;
  height: 100%;
}

.entry-body-paper .hub-guest-big .hub-qr {
  width: 124px;
  height: 124px;
}

.entry-body-paper .hub-guest-body {
  display: grid;
  flex: 1;
  gap: 8px;
  min-width: 0;
}

.entry-body-paper .hub-code {
  margin: 0;
  color: var(--entry-muted);
  font-size: 13px;
}

.entry-body-paper .hub-code b {
  margin-left: 6px;
  color: var(--entry-ink);
  font-family: var(--entry-serif);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.22em;
}

.entry-body-paper .hub-guest-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

/* ── active game: counters and, after the wedding, the download ── */

.entry-body-paper .hub-live {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px;
}

.entry-body-paper .hub-live:hover,
.entry-body-paper .hub-download:hover {
  border-color: var(--entry-gold-soft);
}

.entry-body-paper .hub-live-dot {
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--entry-live);
  box-shadow: 0 0 0 5px rgba(79, 122, 74, 0.15);
}

.entry-body-paper .hub-live-num {
  color: var(--entry-muted);
  font-size: 14px;
}

.entry-body-paper .hub-live-num b {
  display: block;
  color: var(--entry-ink);
  font-family: var(--entry-serif);
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}

.entry-body-paper .hub-live .hub-arrow {
  margin-left: auto;
}

.entry-body-paper .hub-download {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 16px;
  border-color: var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
}

.entry-body-paper .hub-download-body {
  display: grid;
  flex: 1;
  gap: 3px;
}

.entry-body-paper .hub-download-body b {
  font-family: var(--entry-serif);
  font-size: 20px;
  font-weight: 500;
}

.entry-body-paper .hub-download-body small {
  color: var(--entry-muted);
  font-size: 13.5px;
}

.entry-body-paper .hub .extras-banner {
  margin: 0;
}

/* ══════════════════════════════════════════════════════════════════════
   Panel subpages. They share the hub's chrome and mostly follow the
   tokens; this is what the tokens cannot reach: serif families written
   out by name in organizer-entry.css, weights cut for Hanken Grotesk
   (700–800 in Brygada reads as shouting), and the warm skin's own hex
   values.
   ══════════════════════════════════════════════════════════════════════ */

.entry-body-paper .panel-shell h2,
.entry-body-paper .panel-shell h3 {
  font-family: var(--entry-serif);
  font-weight: 500;
  letter-spacing: -0.01em;
}

.entry-body-paper .schedule-when,
.entry-body-paper .export-stat dd,
.entry-body-paper .export-support-kicker,
.entry-body-paper .export-support-title,
.entry-body-paper .material-stepper-input,
.entry-body-paper .material-effort {
  font-family: var(--entry-serif);
  font-weight: 500;
}

.entry-body-paper .schedule-why strong,
.entry-body-paper .schedule-duration strong {
  font-weight: 600;
}

/* "Gra trwa 24 godziny": a hairline label rather than a pill. */
.entry-body-paper .schedule-duration {
  border: 1px solid var(--entry-gold-soft);
  border-radius: 2px;
  background: var(--entry-card);
}

.entry-body-paper .material-task-input {
  font-family: var(--entry-serif);
}

/* Warm leftovers: the hex values the warm skin wrote out by hand. */
.entry-body-paper .extras-nudge {
  border-color: var(--entry-gold-soft);
  border-radius: 12px;
  background: var(--entry-highlight-bg);
}

.entry-body-paper .panel-rename-box {
  border: 1px solid var(--entry-gold-soft);
  background: var(--entry-highlight-bg);
}

.entry-body-paper .panel-rename-input {
  border: 1px solid var(--entry-control-line);
}

.entry-body-paper .game-header-emoji input:checked + span {
  border-color: var(--entry-gold);
  box-shadow: 0 0 0 2px var(--entry-focus-ring);
}

.entry-body-paper .game-header-emoji input:focus-visible + span {
  outline-color: var(--entry-gold);
}

.entry-body-paper .entry-input:focus {
  outline: none;
}

/* Tiles and rows on subpages: the hub's 12px corners, white on the sheet. */
.entry-body-paper .panel-org-row,
.entry-body-paper .panel-photo-card,
.entry-body-paper .panel-group-head-task,
.entry-body-paper .panel-qr-link-row,
.entry-body-paper .panel-album-card,
.entry-body-paper .theme-card,
.entry-body-paper .extras-tile,
.entry-body-paper .material-tile {
  border-radius: 12px;
}

.entry-body-paper .panel-tab.on {
  color: var(--entry-on-accent);
}

/* ── task editor inside the panel (/w/:slug/setup in edit mode) ──
   The wizard's double frame belongs to the invitation; inside the panel the
   editor wears the panel's single hairline, and its label sits on the same
   axis as the centred heading under it. */
.entry-body-paper .setup-wizard-page:has(.panel-topbar) .tasks2 .screen {
  border-color: var(--entry-line);
  border-radius: 4px;
  box-shadow: var(--entry-shadow);
}

.entry-body-paper .setup-wizard-page:has(.panel-topbar) .tasks2 .eyebrow {
  display: flex;
  justify-content: center;
}

/* Players' counters: one row of three at every width. Stacked, the three
   numbers took a phone's whole first screen before the list began. */
.entry-body-paper .setup-complete-shell:has(> .panel-topbar) .panel-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.entry-body-paper
  .setup-complete-shell:has(> .panel-topbar)
  .panel-grid
  .panel-cell {
  padding: 10px 12px;
  border-radius: 12px;
}

.entry-body-paper
  .setup-complete-shell:has(> .panel-topbar)
  .panel-grid
  .panel-cell-label {
  font-size: 10px;
  letter-spacing: 0.12em;
}

.entry-body-paper
  .setup-complete-shell:has(> .panel-topbar)
  .panel-grid
  .panel-cell-value {
  margin-top: 4px;
  font-size: 24px;
  font-weight: 500;
}

/* The extras page exists to get a message sent, so its three channels stay
   the strongest thing on it: ink outline, only the corners and weight change. */
.entry-body-paper .extras-contact-btn {
  border-color: var(--entry-ink);
  border-radius: 12px;
  color: var(--entry-ink);
  font-weight: 600;
}

/* Ranking on the players page: places in the serif, the podium in metal. */
.entry-body-paper .rank-list,
.entry-body-paper .rank-rest .panel-group-list {
  border-color: var(--entry-card-line);
  border-radius: 12px;
}

.entry-body-paper .rank-list .panel-group[open],
.entry-body-paper .rank-rest .panel-group[open] {
  background: var(--entry-highlight-bg);
}

.entry-body-paper .rank-pos {
  font-family: var(--entry-serif);
  font-size: 16px;
  font-weight: 500;
}

.entry-body-paper .rank-pos-top {
  font-size: 14px;
}

.entry-body-paper .rank-pos-1 {
  background: var(--entry-foil);
  color: var(--entry-foil-ink);
}

.entry-body-paper .rank-xp b {
  font-family: var(--entry-serif);
  font-size: 18px;
  font-weight: 500;
}

.entry-body-paper .rank-tie {
  border-color: var(--entry-gold-soft);
  border-radius: 2px;
  font-weight: 500;
}

.entry-body-paper .rank-live-dot {
  background: var(--entry-live);
}

.entry-body-paper .panel-tab {
  font-weight: 600;
}
