/* 依当地钟点排列的印样页；每扇窗保持完整比例。 */
.sheet-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--page-line); margin-bottom: 1.75rem; }
.sheet-heading p { margin: 0; }
.sheet-note { color: var(--page-muted); font: 0.6875rem/1.8 var(--font-sans); letter-spacing: 0.06em; }
.window-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.75rem 2rem; }
.window-card { min-width: 0; }
.window-card a { display: block; text-decoration: none; color: inherit; }
.window-card a:hover h2 { color: var(--page-accent); }
.window-index { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; margin: 0 0 0.5rem; font: 0.625rem/1.8 var(--font-sans); color: var(--page-muted); letter-spacing: 0.06em; }
.window-index .proof-number { color: var(--page-ink); }
.window-image { aspect-ratio: 4 / 5; padding: 0.375rem; border: 1px solid var(--page-line); background: var(--page-surface); display: grid; place-items: center; }
.window-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; }
.window-placeholder { padding: 1rem; font: 0.75rem/1.8 var(--font-sans); text-align: center; color: var(--page-muted); }
.window-name-time { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 0.125rem 0.5rem; margin-top: 0.875rem; }
.window-name-time h2 { margin: 0; font-size: 1.1875rem; font-weight: 500; letter-spacing: 0.025em; }
.window-clock { font: 0.875rem/1.6 var(--font-sans); font-variant-numeric: tabular-nums; }
.card-line { margin: 0.5rem 0 0; font-size: 0.875rem; line-height: 1.85; }
.card-meta { margin: 0.5rem 0 0; font: 0.6875rem/1.8 var(--font-sans); color: var(--page-muted); }
.window-card[data-state="error"] .window-image { border-style: dashed; }
@media (max-width: 1100px) { .window-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .window-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; } }
@media (max-width: 480px) {
  .window-grid { gap: 2rem 1rem; }
  .window-name-time { display: block; }
  .window-name-time h2 { font-size: 1rem; }
  .window-clock { font-size: 0.8125rem; }
  .card-line { font-size: 0.8125rem; }
  .window-index { font-size: 0.5625rem; }
  .window-image { padding: 0.25rem; }
}
@media (max-width: 379px) { .window-grid { grid-template-columns: 1fr; } }
