/* Inner content rhythm: section / module / detail. Homepage and SNS are outside this layer. */
html[data-preview-surface="inner"] {
  --content-space-section: 48px;
  --content-space-module: 32px;
  --content-space-detail: 16px;
  --content-space-page-start: 64px;
  --content-space-page-end: 80px;
  --content-space-card: 32px;
}

html[data-preview-surface="inner"] #ct > .page-contents:not(:where(.alive-sns, .alive-sns *, .sns-circular-stage, .sns-circular-stage *, [data-sns-gallery], [data-sns-gallery] *)) {
  padding-block: var(--content-space-page-start) var(--content-space-page-end);
}

/* These annotations are applied only to actual content blocks, never inline text or widget cells. */
html[data-preview-surface="inner"] #ct .page-contents [data-content-spacing]:not(:where(.alive-sns, .alive-sns *, .sns-circular-stage, .sns-circular-stage *, [data-sns-gallery], [data-sns-gallery] *)) {
  margin-block: var(--content-block-gap, 0px) 0 !important;
}
html[data-preview-surface="inner"] [data-content-spacing="section"] { --content-block-gap: var(--content-space-section); }
html[data-preview-surface="inner"] [data-content-spacing="module"] { --content-block-gap: var(--content-space-module); }
html[data-preview-surface="inner"] [data-content-spacing="detail"],
html[data-preview-surface="inner"] [data-content-spacing="paragraph"] { --content-block-gap: var(--content-space-detail); }
html[data-preview-surface="inner"] [data-content-spacing="media"] { --content-block-gap: var(--content-space-module); }
html[data-preview-surface="inner"] :is([data-content-spacing="flush"], [data-content-spacing="spacer"], [data-content-spacing-first]) { --content-block-gap: 0px; }

html[data-preview-surface="inner"] #ct .page-contents [data-content-spacing="spacer"]:not(:where(.alive-sns, .alive-sns *, .sns-circular-stage, .sns-circular-stage *, [data-sns-gallery], [data-sns-gallery] *)) {
  display: none !important;
}
html[data-preview-surface="inner"] #ct .page-contents img[data-content-spacing="media"]:not(:where(.alive-sns, .alive-sns *, .sns-circular-stage, .sns-circular-stage *, [data-sns-gallery], [data-sns-gallery] *)) {
  display: block;
  margin-inline: auto;
  margin-block-end: var(--content-space-module) !important;
}
html[data-preview-surface="inner"] #ct .page-contents img[data-content-spacing-last]:not(:where(.alive-sns, .alive-sns *, .sns-circular-stage, .sns-circular-stage *, [data-sns-gallery], [data-sns-gallery] *)) {
  margin-block-end: 0 !important;
}

/* Page tools and their content share a module gap; controls retain their own internal spacing. */
html[data-preview-surface="inner"] #ct .page-contents :is(.tab, .srch, .pagination)[data-content-spacing]:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  margin-block-end: 0 !important;
}
html[data-preview-surface="inner"] #ct .page-contents .pane[data-content-spacing]:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  padding-block-start: 0;
  border-block-start: 0;
}
html[data-preview-surface="inner"] #ct .page-contents :is(.lst-evt, .lst-gallery, .lst-gallery-round, .convenience, .dsc-info, .traffic, .bus):not(:where(.alive-sns, .alive-sns *, .sns-circular-stage, .sns-circular-stage *, [data-sns-gallery], [data-sns-gallery] *)) {
  gap: var(--content-space-module);
}

/* Details use the same vertical rhythm while preserving the source article's reading structure. */
html[data-preview-surface="inner"][data-secondary-page="detail"] #ct .page-contents .view-hd:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  padding-block: 0 var(--content-space-module);
}
html[data-preview-surface="inner"][data-secondary-page="detail"] #ct .page-contents .view:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  padding: var(--content-space-card);
}
html[data-preview-surface="inner"] #ct .page-contents :is(.view-hd, .friend article) > .dsc-view:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  margin-block: var(--content-space-detail) 0;
}
html[data-preview-surface="inner"] #ct .page-contents .view-ft:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  padding-block-start: var(--content-space-detail);
}
html[data-preview-surface="inner"] #ct .page-contents .friend-nav:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  margin-block-start: var(--content-space-module);
  padding-block-start: var(--content-space-detail);
}
html[data-preview-surface="inner"] #ct .page-contents .friend-list:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  padding-block-start: var(--content-space-module);
}
html[data-preview-surface="inner"] #ct .page-contents #schedule-body > .no-data:not(:where(.alive-sns *, .sns-circular-stage *, [data-sns-gallery] *)) {
  margin-block: 0;
  padding: var(--content-space-card);
}

/* Existing visit and directions components consume the same tokens without changing their grids. */
html[data-preview-surface="inner"][data-secondary-page="visit"] {
  --visit-gap-inline: var(--content-space-detail);
  --visit-gap-module: var(--content-space-module);
  --visit-gap-section: var(--content-space-section);
  --visit-card-pad: var(--content-space-card);
}
html[data-preview-surface="inner"] #ct .page-contents .way-guide {
  --way-section-gap: var(--content-space-section);
  --way-module-gap: var(--content-space-module);
  --way-detail-gap: var(--content-space-detail);
  --way-padding: var(--content-space-card);
}

/* The introduction retains its backdrop, scene padding and card content. */
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info > [data-content-spacing],
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info > .txt > img[data-content-spacing] {
  margin-block: var(--content-block-gap, 0px) 0 !important;
}
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info > .txt > img[data-content-spacing] { display: block; }
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info [data-content-spacing="spacer"] { display: none !important; }
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info > .dsc-info { gap: var(--content-space-module); }
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info > .dsc-info::before,
html[data-preview-surface="inner"][data-secondary-page="about"] #ct.alive > .contents.info > .dsc-info::after { display: none; content: none; }

@media (max-width: 760px) {
  html[data-preview-surface="inner"] {
    --content-space-section: 32px;
    --content-space-module: 24px;
    --content-space-detail: 12px;
    --content-space-page-start: 40px;
    --content-space-page-end: 48px;
    --content-space-card: 20px;
  }
}
