.guest-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.12fr);
  column-gap: 32px;
  padding: 24px 28px 12px;
  margin: 0 0 22px;
  background: linear-gradient(125deg, var(--app-soft), var(--app-surface) 65%);
  color: var(--app-ink);
  border: 1px solid var(--app-line);
  border-radius: var(--skin-radius,24px);
  box-shadow: 0 8px 24px var(--app-shadow);
}
#guest-intro[hidden], .guest-intro [hidden] { display: none; }
.guest-intro-heading { align-self: center; }
.guest-intro-heading h2 { font-size: 23px; line-height: 1.4; margin: 0 0 9px; letter-spacing: -.5px; }
.guest-intro-heading p { margin: 0 0 16px; color: var(--app-muted); font-size: 13px; line-height: 1.7; }
.guest-intro a { text-decoration: none; }
.guest-intro .guest-intro-register { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border-radius: var(--skin-control-radius,14px); background: var(--app-action); color: var(--app-on-action); font-size: 14px; font-weight: 650; white-space: nowrap; }
.guest-intro .guest-intro-register:hover { background: var(--app-hover); }
.guest-intro-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: center; font-size: 14px; }
.guest-intro-table :is(th,td) { padding: 9px 8px; border-bottom: 1px solid var(--app-line); }
.guest-intro-table thead th { color: var(--app-muted); font-size: 12px; font-weight: 500; }
.guest-intro-table th:first-child { width: 40%; text-align: left; }
.guest-intro-table tbody th { font-weight: 500; }
.guest-intro-table tbody td { font-weight: 700; }
.guest-intro-table tr > :last-child { color: var(--app-action); background: var(--app-soft); }
.guest-intro-table thead th:last-child { border-radius: 12px 12px 0 0; }
.guest-intro-table tbody tr:last-child td:last-child { border-radius: 0 0 12px 12px; }
.guest-intro-table tbody tr:last-child :is(th,td) { border-bottom: 0; }
.guest-intro-footer { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 0 18px; grid-column: 1 / -1; margin-top: 10px; }
.guest-intro-footer details { flex: 1; min-width: 0; }
.guest-intro-footer summary, .guest-intro-footer > a { min-height: 44px; padding: 12px 0; color: var(--app-muted); font-size: 12px; line-height: 20px; cursor: pointer; }
.guest-intro-footer summary { width: fit-content; }
.guest-intro-footer > a { color: var(--app-action); white-space: nowrap; }
.guest-intro-rules p { margin: 0 0 8px; color: var(--app-muted); font-size: 12px; line-height: 1.8; }
.guest-intro :is(a,summary):focus-visible { outline: 2px solid var(--app-action); outline-offset: 4px; }
.reading-page.has-guest-intro .heading-note { display: none; }
@media (max-width: 700px) {
  .guest-intro { grid-template-columns: minmax(0,1fr); padding: 18px 18px 6px; margin-bottom: 18px; }
  .guest-intro-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
  .guest-intro-heading > div { flex: 1; min-width: 0; }
  .guest-intro-heading h2 { font-size: 18px; margin-bottom: 6px; }
  .guest-intro-heading p { font-size: 12px; margin-bottom: 0; }
  .guest-intro .guest-intro-register { padding: 10px 13px; font-size: 13px; flex-shrink: 0; }
  .guest-intro-table { font-size: 13px; }
  .guest-intro-table :is(th,td) { padding: 8px 5px; }
  .guest-intro-footer { gap: 0 12px; margin-top: 3px; }
  .reading-page.has-guest-intro .page-heading { min-height: 0; padding: 20px 0 16px; }
}
