/* src/styles/views/print.css — Print view (#/print). Compact day blocks; @media print strips chrome. */

/* ── Screen chrome ──────────────────────────────────────────────────────────── */
.view-print .pr-back {
  display: inline-flex; align-items: center; gap: var(--s-1); min-height: 44px; margin-left: -6px; padding-right: var(--s-3);
  font-size: var(--fs-small); font-weight: 500; color: var(--text-2); text-decoration: none;
}
.view-print .pr-back:hover { color: var(--text); }
.view-print .pr-chrome .page-head { margin-top: 0; }
.view-print .pr-actions { margin-top: var(--s-4); }

/* ── The sheet ──────────────────────────────────────────────────────────────── */
.view-print .pr-sheet { margin-top: var(--s-6); }
.view-print .pr-sheet-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); flex-wrap: wrap;
  margin: 0 0 var(--s-3); padding-bottom: var(--s-2); border-bottom: 2px solid var(--text);
}
.view-print .pr-sheet-title { font-family: var(--font-serif); font-size: var(--fs-title-2); line-height: var(--lh-title-2); }
.view-print .pr-sheet-range { font-size: var(--fs-caption); color: var(--text-2); font-variant-numeric: tabular-nums; }

.view-print .pr-day { padding: var(--s-3) 0; border-bottom: 1px solid var(--line); break-inside: avoid; }
.view-print .pr-day-head { display: flex; align-items: baseline; gap: var(--s-2) var(--s-3); flex-wrap: wrap; }
.view-print .pr-day-date {
  flex-shrink: 0; font-family: var(--font-sans); font-size: var(--fs-small); font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums; letter-spacing: .02em;
}
.view-print .pr-day-title { font-family: var(--font-serif); font-size: var(--fs-body); line-height: var(--lh-body); }
.view-print .pr-day-region {
  margin-left: auto; font-size: var(--fs-micro); line-height: var(--lh-micro); font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--text-3);
}

.view-print .pr-items { list-style: none; margin: var(--s-2) 0 0; padding: 0; }
.view-print .pr-item { display: flex; align-items: baseline; gap: var(--s-3); padding: 2px 0; }
.view-print .pr-time {
  flex-shrink: 0; width: 64px; font-size: var(--fs-caption); line-height: var(--lh-caption); font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums; white-space: nowrap;
}
.view-print .pr-item-body { min-width: 0; display: block; }
.view-print .pr-item-name { display: block; font-size: var(--fs-small); line-height: var(--lh-small); }
.view-print .pr-item-note {
  display: block; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--text-3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 62ch;
}

/* ── Timetable summaries ────────────────────────────────────────────────────── */
.view-print .pr-tt { margin-top: var(--s-2); padding: var(--s-2) var(--s-3); border-left: 2px solid var(--line-strong); }
.view-print .pr-tt-head { margin: 0; display: flex; gap: var(--s-2) var(--s-3); flex-wrap: wrap; align-items: baseline; }
.view-print .pr-tt-title { font-size: var(--fs-caption); font-weight: 600; }
.view-print .pr-tt-route { font-size: var(--fs-caption); color: var(--text-2); }
.view-print .pr-tt-times {
  margin: 2px 0 0; font-size: var(--fs-caption); line-height: 1.7; color: var(--text-2);
  font-variant-numeric: tabular-nums lining-nums; white-space: pre-wrap;
  display: flex; flex-wrap: wrap; column-gap: var(--s-3); row-gap: 2px;
}
.view-print .pr-tt-time { white-space: nowrap; }
.view-print .pr-tt-time.is-last { color: var(--accent-text); font-weight: 600; }
.view-print .pr-tt-validity { margin: 2px 0 0; font-size: var(--fs-micro); line-height: var(--lh-micro); color: var(--text-3); }

/* ── Tonight's stay ─────────────────────────────────────────────────────────── */
.view-print .pr-stay { display: flex; align-items: baseline; gap: var(--s-3); margin-top: var(--s-2); }
.view-print .pr-stay-label {
  flex-shrink: 0; width: 64px; font-size: var(--fs-micro); line-height: var(--lh-small); font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--text-3);
}
.view-print .pr-stay-body { min-width: 0; display: block; }
.view-print .pr-stay-name { display: inline; font-size: var(--fs-small); line-height: var(--lh-small); font-weight: 600; }
.view-print .pr-stay-ja, .view-print .pr-stay-addr {
  display: block; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--text-2); overflow-wrap: anywhere;
}
.view-print .pr-stay-ja { font-family: var(--font-jp); }
.view-print .pr-stay-phone { display: block; font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--text-2); }

@media (min-width: 700px) { .view-print .pr-time, .view-print .pr-stay-label { width: 76px; } }

/* ── Paper ──────────────────────────────────────────────────────────────────── */
@media print {
  .tabbar, .sidenav, .appbar, .toast-region, .view-print .pr-chrome { display: none !important; }
  .app, .view-host, .view-print.page { display: block; padding: 0; margin: 0; max-width: none; }
  html, body { background: #fff !important; }
  .view-print { color: #000; }
  .view-print .pr-sheet { margin-top: 0; }
  .view-print .pr-day { padding: 8px 0; }
  .view-print .pr-item-note { white-space: normal; }
  .view-print .pr-tt-time.is-last { color: #000; }
  .view-print a { color: inherit; text-decoration: none; }
}
