/* Shared framing, based on the approved Brief. Keep sibling pages in sync. */
:root { --page-frame-radius: 5px; --page-frame-top: 18px; }
body .app-shell,
body.editorial-home .app-shell,
body.curated-signals .app-shell,
body.curated-detail .app-shell {
  width: min(1160px, 100%);
  max-width: 1160px;
  height: auto;
  min-height: 100dvh;
  padding-top: var(--page-frame-top);
}
body .page-surface,
body.editorial-home .brief-sheet.page-surface {
  border: 1px solid var(--line);
  border-radius: var(--page-frame-radius);
  background: var(--surface);
  box-shadow: none;
}
body[data-page="experiments"] .page-surface { gap: 0; overflow: clip; }
body[data-page="experiments"] .page-surface > .panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body[data-page="experiments"] .page-surface > .panel + .panel {
  border-top: 1px solid var(--line);
}
.experiment-receipt { border: 1px solid var(--line); border-radius: 4px; }
@media (max-width: 820px) {
  :root { --page-frame-radius: 4px; --page-frame-top: 8px; }
  body .app-shell,
  body.editorial-home .app-shell,
  body.curated-signals .app-shell,
  body.curated-detail .app-shell {
    padding-inline: var(--gutter-compact);
    padding-bottom: 110px;
  }
}
@media (min-width: 600px) and (max-width: 820px) {
  body .app-shell,
  body.editorial-home .app-shell,
  body.curated-signals .app-shell,
  body.curated-detail .app-shell { padding-inline: var(--gutter-medium); }
}
