/* 旅行报告页（/report/:tripId）——对应 src/pages/report-page.js */
.report-board-screen { padding-bottom: 20px; background: #fff9f0; }
.report-board-header { height: 49px; padding: 4px 16px; display: grid; grid-template-columns: 45px 1fr 45px; align-items: center; }
.report-board-header h1 { font-size: 19px; text-align: center; }
.report-board-header button { font-size: 27px; }
.report-board-header button:last-child { text-align: right; }
.report-board-content { padding-bottom: 12px; }
.report-board-cover { position: relative; height: 258px; margin: 0 14px; overflow: hidden; border-radius: 20px; color: white; }
.report-board-cover-image { width: 100%; height: 100%; object-fit: cover; }
.report-board-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,48,60,.05), rgba(13,48,60,.42)); }
.report-board-cover-copy { position: absolute; z-index: 2; left: 17px; top: 21px; }
.report-board-cover-copy h2 { font-size: 26px; }
.report-board-cover-copy p { margin-top: 6px; font-size: 10px; }
.report-board-polaroids { position: absolute; z-index: 3; left: 8px; right: 8px; bottom: 9px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.report-board-polaroids figure { margin: 0; padding: 3px 3px 6px; background: white; color: var(--ink); transform: rotate(-3deg); }
.report-board-polaroids figure:nth-child(even) { transform: rotate(3deg); }
.report-board-polaroids img { width: 100%; height: 48px; object-fit: cover; }
.report-board-polaroids figcaption { margin-top: 3px; overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; text-align: center; }
.report-board-stats { margin: 10px 14px; padding: 10px 6px; display: grid; grid-template-columns: repeat(3, 1fr); border-radius: 17px; background: white; box-shadow: var(--shadow-soft); }
.report-board-stats > span { display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto auto; align-items: center; }
.report-board-stats > span + span { border-left: 1px solid var(--line); }
.report-stat-icon { grid-row: 1 / 3; font-size: 26px; text-align: center; font-style: normal; }
.report-stat-icon--place { color: var(--orange); }
.report-stat-icon--time { color: var(--jade); }
.report-stat-icon--distance { color: var(--blue); }
.report-board-stats small { font-size: 8px; }
.report-board-stats strong { font-size: 18px; }
.report-board-stats strong b { font-size: 8px; }
.report-board-map { position: relative; height: 150px; margin: 10px 14px; overflow: hidden; border-radius: 18px; }
.report-board-map > img { width: 100%; height: 100%; object-fit: cover; }
.report-map-path { position: absolute; inset: 18px; width: calc(100% - 36px); height: calc(100% - 36px); }
.report-map-path path { fill: none; stroke: var(--orange); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 7 4; }
.report-map-stop { position: absolute; z-index: 2; }
.report-map-stop i { width: 24px; height: 24px; display: grid; place-items: center; border: 3px solid white; border-radius: 50% 50% 50% 6px; background: var(--orange); color: white; font-size: 9px; font-style: normal; transform: rotate(-45deg); }
.report-map-stop i::first-line { transform: rotate(45deg); }
.report-map-stop b { padding: 3px 5px; display: block; border-radius: 7px; background: white; font-size: 7px; white-space: nowrap; }
.report-map-stop--1 { left: 10%; top: 50%; }
.report-map-stop--2 { left: 31%; top: 26%; }
.report-map-stop--3 { left: 57%; top: 47%; }
.report-map-stop--4 { left: 78%; top: 58%; }
.report-board-timeline { margin: 10px 14px; padding: 8px 11px; border-radius: 18px; background: white; box-shadow: var(--shadow-soft); }
.report-timeline-stop { min-height: 62px; display: grid; grid-template-columns: 25px 39px 1fr 72px; gap: 7px; align-items: center; }
.report-timeline-stop + .report-timeline-stop { border-top: 1px solid var(--line); }
.report-timeline-index { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-size: 9px; }
.report-timeline-stop time { font-size: 9px; }
.report-timeline-copy h3 { font-size: 11px; }
.report-timeline-copy p { margin-top: 3px; color: var(--muted); font-size: 7px; line-height: 1.4; }
.report-timeline-stop img { width: 72px; height: 44px; border-radius: 8px; object-fit: cover; }
.report-board-memory { margin: 10px 14px; min-height: 120px; overflow: hidden; display: grid; grid-template-columns: 58% 42%; border-radius: 18px; background: white; box-shadow: var(--shadow-soft); }
.report-memory-copy { padding: 13px; }
.report-memory-copy h2 { color: var(--orange-dark); font-size: 16px; }
.report-memory-copy h2 span { padding: 3px 5px; border-radius: 8px; background: var(--orange); color: white; font-size: 10px; }
.report-memory-copy p { margin-top: 7px; color: var(--muted); font-size: 8px; line-height: 1.55; }
.report-board-memory img { width: 100%; height: 100%; object-fit: cover; }
.report-board-achievement { margin: 10px 14px; padding: 11px; display: grid; grid-template-columns: 60px 1fr; gap: 10px; align-items: center; border: 1px solid #f0d7b1; border-radius: 18px; background: white; }
.report-achievement-medal { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #ffd56a, #ef7227); color: white; }
.report-achievement-medal span { font-size: 17px; font-weight: 800; }
.report-achievement-medal b { font-size: 7px; }
.report-board-achievement h2 { font-size: 14px; }
.report-board-achievement p { margin-top: 3px; color: var(--muted); font-size: 8px; }
.report-board-achievement small { margin-top: 5px; display: block; color: var(--orange-dark); font-size: 7px; }
.report-board-actions { margin: 11px 14px; display: grid; grid-template-columns: 1fr 1.45fr; gap: 8px; }
.report-board-actions button { height: 44px; border-radius: 23px; font-weight: 700; }
.report-repeat-button { border: 1px solid var(--orange); color: var(--orange); }
.report-share-button { background: linear-gradient(90deg, var(--orange), #ff9630); color: white; }
