/* Everything here is .sxn-. Styling a .pk- or .wf- rule from this sheet reaches the shared print sheets. */

.sxn-page { max-width: none; }
.sxn-hero { margin: 0 0 8px; }
.sxn-hero h1 { display: flex; align-items: center; gap: .4ch; flex-wrap: wrap; }
.sxn-hero .hub-icon { font-style: normal; }
.sxn-status {
  margin: 10px 0 0; font-size: 13px; letter-spacing: .03em;
  color: var(--ink-soft);
}

.sxn-block { margin: 34px 0 0; }
.sxn-h2 {
  font-family: var(--display, Georgia, serif);
  font-size: clamp(20px, 3vw, 26px); margin: 0 0 10px; line-height: 1.2;
}
.sxn-lede { color: var(--ink-soft); margin: 0 0 16px; max-width: 60ch; }

.sxn-print-block {
  border: 1px solid var(--line); border-radius: 14px;
  padding: 20px 20px 22px; background: var(--tile, transparent);
}
.sxn-print-block .pk-actions { margin: 0 0 14px; }

.sxn-sheet-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sxn-sheet-list li {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border: 1px solid var(--line-2, var(--line)); border-radius: 10px;
}
.sxn-n {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center;
  border: 1px solid var(--line); color: var(--ink-soft);
  font-size: 12px; font-weight: 700;
}
.sxn-li-text { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.sxn-li-text b { font-weight: 600; }
.sxn-li-meta { font-size: 12px; color: var(--ink-soft); }
.sxn-sheet-list .pk-btn { flex: 0 0 auto; padding: .4em 1em; font-size: 13px; }

.sxn-cards { display: grid; gap: 18px; }

.sxn-prose { margin: 34px 0 0; }
.sxn-siblings { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 6px; }
.sxn-siblings a { text-decoration: none; }
.sxn-siblings a:hover { text-decoration: underline; }

.sxn-rule {
  display: flex; align-items: center; gap: 14px;
  color: var(--gold); margin: 8px 0 18px;
}
.sxn-rule::before, .sxn-rule::after {
  content: ""; height: 1px; background: var(--line); flex: 1;
}
.sxn-feed-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin: 0 0 14px;
}
.sxn-feed-head .sxn-h2 { margin: 0; }
.sxn-feed-status { color: var(--ink-soft); font-size: 13px; text-align: center; margin: 14px 0 0; }

.sxn-tiles {
  list-style: none; padding: 0; margin: 24px 0 0;
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.sxn-tile a {
  display: flex; align-items: flex-start; gap: 14px; height: 100%;
  padding: 16px; border: 1px solid var(--line); border-radius: 14px;
  text-decoration: none; color: inherit; background: var(--tile, transparent);
  transition: border-color .18s ease, transform .18s ease;
}
.sxn-tile a:hover { border-color: var(--crimson); transform: translateY(-1px); }
.sxn-tile-icon { font-size: 26px; line-height: 1; flex: 0 0 auto; }
.sxn-tile-text { display: grid; gap: 4px; min-width: 0; }
.sxn-tile-text b { font-weight: 600; }
.sxn-tile-meta { font-size: 12px; color: var(--ink-soft); }
.sxn-tile-blurb { font-size: 13.5px; color: var(--ink-soft); }
.sxn-tile-live a { border-color: var(--gold); }

/* feed/paper.css owns the sheet layout and un-hides the page wrapper — do NOT re-add page-wrapper rules here: a copy printed the /seasonal/ hub as ONE BLANK PAGE (2026-08-22), it has no .pk-page at all.
   CSS cannot compare one attribute against another, so "hide every sheet but N" can only mark the losers (.sxn-print-hide). */
@media print {
  .sxn-print-hide { display: none !important; }

  /* Overrides paper.css's `.pk-answers:not(.pk-lg)` float pairing, which cost a whole extra page on this sheet's N identical blocks.
     Scoped @media print ON PURPOSE: .pk-gated is display:none on screen behind the reveal button, and a display outside the print block would un-hide the answers. */
  .sxn-sheet.pk-answers .pk-gated {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.6rem;
    align-items: start;
  }
  .sxn-sheet.pk-answers .pk-ak {
    float: none !important; clear: none !important;
    width: auto !important; margin-left: 0 !important;
  }
}

/* .sxn-print-hide is print-only ON PURPOSE: some browsers never fire `afterprint`, so a stale mark must cost nothing on screen. */
