/* The journal extends the watch log's existing palette, type, and panel language. */
.topnav a[aria-current="page"] { color:var(--amber); }
.topbar { gap:24px; }
.topnav { gap:20px; }
.reviews-page { padding-top:55px; }
.journal-intro { padding:15px 0 40px; max-width:850px; }
.journal-intro h1 { font:700 clamp(38px,5vw,68px)/1.08 'Space Grotesk',sans-serif; letter-spacing:-.055em; margin:18px 0; overflow-wrap:anywhere; }
.journal-intro .eyebrow { margin:22px 0 15px; }
.journal-intro .hero-desc { max-width:640px; }
.review-series { margin:25px 0 60px; }
.review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.review-card { border:1px solid var(--line); border-top:3px solid var(--amber); border-radius:12px; padding:25px; background:linear-gradient(120deg,#18283b,#101c2e 80%); min-width:0; }
.review-card .kicker { margin-bottom:12px; line-height:1.7; }
.review-card h3 { font-size:25px; line-height:1.3; letter-spacing:-.035em; margin-bottom:14px; overflow-wrap:anywhere; }
.review-card h3 a:hover { color:var(--amber); }
.review-card h3 span { color:var(--cyan); font-size:18px; }
.review-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; color:#adbbca; font-size:12px; }
.review-status { display:inline-block; border:1px solid #3a6765; border-radius:20px; color:var(--cyan); padding:3px 9px; font-size:11px; }
.review-status.is-draft { color:var(--gold); border-color:#71583f; }
.review-rating { color:var(--gold); }
.review-excerpt { color:#bcc8d5; font-size:14px; margin:18px 0 22px; overflow-wrap:anywhere; }
.journal-empty { max-width:760px; margin-bottom:60px; }
.journal-empty p:not(.eyebrow) { color:#adbbca; }
.review-entry { max-width:850px; margin:0 auto 70px; }
.review-main { border-top:1px solid var(--line); padding-top:30px; }
.review-prose { font-size:18px; line-height:1.85; color:#d9e1e7; overflow-wrap:anywhere; }
.review-prose p { white-space:pre-wrap; margin-bottom:1.4em; }
.review-extra { border-top:1px solid var(--line); padding-top:24px; margin-top:35px; }
.review-extra h2 { color:var(--amber); font-size:24px; letter-spacing:-.03em; }
.review-extra .review-prose { font-size:16px; }
.latest-review { display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid var(--line); border-left:3px solid var(--cyan); border-radius:10px; margin-top:22px; padding:17px 22px; background:#111d2e; }
.latest-review .kicker { font-size:10px; color:var(--cyan); margin:0 0 5px; }
.latest-review div>a { font:600 16px 'Space Grotesk',sans-serif; overflow-wrap:anywhere; }
.latest-review div>a:hover { color:var(--amber); }
.latest-review>.text-link { flex-shrink:0; }
.review-admin { margin-top:50px; scroll-margin-top:20px; }
.review-admin-layout { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,2.4fr); gap:20px; align-items:start; }
.review-library { padding:20px; min-height:0; box-shadow:inset 4px 0 var(--cyan); }
#reviewLibrary { margin-top:20px; }
.review-library-item { display:block; width:100%; text-align:left; border:1px solid var(--line); border-radius:8px; padding:14px; margin-bottom:10px; background:#111d2e; color:var(--text); }
.review-library-item.selected { border-color:var(--cyan); }
.review-library-item .kicker { display:block; font-size:9px; margin-bottom:7px; }
.review-library-item strong { display:block; font-size:14px; margin-bottom:8px; overflow-wrap:anywhere; }
.review-editor-heading { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.review-editor-heading h3 { margin:0; font-size:25px; }
.review-form>.small-muted { margin:10px 0 20px; }
.review-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.review-form label { display:block; color:#d6e0e7; font-size:13px; }
.review-form label span,.review-form small { color:var(--muted); font-size:11px; }
.review-form small { display:block; margin-top:5px; overflow-wrap:anywhere; }
.review-form input,.review-form select,.review-form textarea { width:100%; display:block; margin-top:6px; border:1px solid #536577; border-radius:6px; background:#0b1726; color:var(--text); padding:10px; font:inherit; }
.review-form select:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.review-form textarea { resize:vertical; line-height:1.65; }
.review-form textarea[name="body"] { font-size:16px; }
.review-form .wide { grid-column:1/-1; }
.review-optional { border-top:1px solid var(--line); margin:24px 0; padding-top:15px; }
.review-optional summary { cursor:pointer; color:var(--cyan); font-size:14px; }
.review-optional label { margin-top:18px; }
.review-editor-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.review-delete { color:#f0a7a1; margin-left:auto; }
#reviewAdminMessage { font-size:14px; color:var(--cyan); overflow-wrap:anywhere; }
.review-form button:disabled { opacity:.5; }
@media(max-width:1200px) and (min-width:761px) { .top-actions .mode-badge { display:none; } }
@media(max-width:760px) {
  .topbar { height:auto; min-height:67px; flex-wrap:wrap; padding-top:14px; gap:12px; }
  .topnav { display:flex; order:3; flex-basis:100%; overflow-x:auto; white-space:nowrap; gap:24px; padding:0 0 12px; margin:0; }
  .reviews-page { padding-top:26px; }
  .journal-intro { padding-bottom:26px; }
  .review-grid,.review-admin-layout { grid-template-columns:1fr; }
  .review-card,.review-form { padding:21px; }
  .review-prose { font-size:16px; }
  .latest-review { flex-direction:column; align-items:flex-start; gap:12px; padding:16px; }
  .review-form-grid { grid-template-columns:1fr; }
  .review-editor-actions .button { flex:1; white-space:normal; }
  .review-delete { margin-left:0; }
}
