.crab-h5 .script-session-page { background: var(--sand); }
.crab-h5 .script-session-page > .mobile-scroll {
  padding: calc(var(--h5-safe-top, 0px) + 12px) 18px calc(var(--h5-safe-bottom, 0px) + 100px);
}
.session-header { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.session-header h1 { margin: 0; font: 800 26px/1.3 var(--sans); }
.session-back {
  display: grid; place-items: center; width: 44px; height: 44px; flex: none;
  border: 1px solid #b8ada0; border-radius: 50%; color: var(--ink); background: var(--surface);
}
.session-back svg { width: 22px; height: 22px; }
.session-scope { margin: 0 0 16px; font: 700 18px/1.45 var(--sans); overflow-wrap: anywhere; }
.session-tools { margin: 0 0 15px; }
.session-empty {
  display: grid; justify-items: center; gap: 14px; text-align: center;
  padding: 34px 16px; border: 1px solid #d9ccba; border-radius: 16px; background: #fffaf1;
}
.session-table-art { width: 90px; height: auto; }
.session-empty h2 { margin: 0; color: var(--ink); font: 700 18px/1.5 var(--sans); }
.session-action {
  min-width: 44px; min-height: 44px; padding: 8px 18px;
  background: #ffd46a; color: var(--ink); border: 1.5px solid var(--ink);
  border-radius: 12px; font: 700 15px/1.4 var(--sans); cursor: pointer;
}
.session-list { list-style: none; padding: 0 18px; margin: 0; background: var(--surface); border: 1px solid #d9ccba; border-radius: 14px; }
.session-row { padding: 14px 0 8px; }
.session-row + .session-row { border-top: 1px solid #e2d7c9; }
.session-open { width: 100%; text-align: start; border: 0; color: var(--ink); padding: 0; background: transparent; display: grid; gap: 4px; cursor: pointer; overflow-wrap: anywhere; }
.session-when { font-weight: 700; font-size: 14px; color: #67492a; }
.session-open strong { font: 800 19px/1.45 var(--sans); }
.session-book-name, .session-place { color: var(--ink-2); font: 500 14px/1.5 var(--sans); }
.session-place { display: flex; align-items: center; gap: 4px; }
.session-place .post-icon { width: 15px; height: 15px; flex: none; }
.session-row-footer { margin-top: 5px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; column-gap: 10px; }
.session-seats { font: 700 14px/1.4 var(--sans); }
.crab-h5 .event-script-link {
  min-height: 44px; margin-top: 4px; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap;
  text-align: start; background: none; border: 0; color: var(--ink-2); font: 500 14px/1.5 var(--sans); cursor: pointer;
}
.event-script-link strong { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (min-width: 960px) {
  .crab-h5 .script-session-page > .mobile-scroll { max-width: 920px; padding: 32px var(--desktop-gutter) 48px; }
  .session-header h1 { font-size: 30px; }
}
