/* Review mode uses the board's palette and leaves ordinary browsing unchanged. */
.is-reviewing { padding-bottom:var(--review-space,140px); }
html:has(.is-reviewing) { scroll-padding-bottom:calc(var(--review-space,140px) + 16px); }
.is-reviewing #featured { display:none; }
.is-reviewing .board-columns { margin-left:44px; }
.is-reviewing .route { padding-left:44px; }
.is-reviewing .route-link { scroll-margin-bottom:16px; }
/* The tray spans its parent gutter; children get just one checkbox gutter. */
.is-reviewing .route-family { margin-left:-44px; }
.is-reviewing .route-family > summary { padding-left:60px; }
#review-entry { min-height:44px; }
.review-choice { position:absolute; z-index:2; top:0; left:0; width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.review-choice input { width:20px; height:20px; margin:0; accent-color:var(--board-accent,var(--amber)); cursor:pointer; }
.review-choice:focus-within { outline:2px solid var(--board-accent,var(--amber)); outline-offset:-2px; }
.is-marked > .route-link { background:var(--hover,#25271d); }
.review-panel[hidden] { display:none; }
.review-panel { position:fixed; z-index:20; inset:auto 0 0; padding:8px 16px calc(8px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--board); color:var(--ink); font-size:13px; }
.review-inner { max-width:1040px; margin:0 auto; }
.review-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; }
.review-panel h2 { margin:0; flex:1 1 170px; font-size:14px; font-weight:500; }
.review-panel button,.review-panel a,.review-panel summary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:8px; border:0; background:none; color:var(--ink); text-decoration:underline; text-underline-offset:3px; cursor:pointer; font:inherit; }
.review-panel button:disabled { opacity:.55; cursor:default; text-decoration:none; }
.review-panel :is(button,a,summary,textarea):focus-visible { outline:2px solid var(--board-accent,var(--amber)); outline-offset:2px; }
.review-panel p { margin:0; line-height:1.5; font-size:12px; color:var(--muted); }
.review-panel #review-status:not(:empty) { margin-top:4px; color:var(--ink); }
#review-json[open] { flex-basis:100%; }
#review-json summary { justify-content:flex-start; }
#review-json summary::before { content:'+'; margin-right:6px; }
#review-json[open] summary::before { content:'−'; }
#review-output { display:block; box-sizing:border-box; width:100%; min-width:0; height:min(20vh,160px); max-height:30vh; margin:0 0 8px; padding:8px; border:1px solid var(--line); border-radius:0; background:var(--board); color:var(--ink); font:12px/1.4 ui-monospace,monospace; resize:vertical; }
@media(max-width:480px) {
  .review-actions { gap:0 8px; }
  .review-panel h2 { flex-basis:100%; min-height:28px; display:flex; align-items:center; gap:4px; }
  /* Give the review task room for complete names beside the separate family control. */
  html[data-board-style] .is-reviewing .route-link { grid-template-columns:minmax(0,1fr); gap:8px; }
  html[data-board-style] .is-reviewing .board-columns { grid-template-columns:minmax(0,1fr); gap:8px; padding:0 8px; }
  .is-reviewing .route-traffic,.is-reviewing .h-views { display:none; }
  html[data-board-style] .is-reviewing .route-family > summary { padding-left:52px; }
}
@media(forced-colors:active) {
  .review-choice:focus-within,.review-panel :focus-visible { outline-color:Highlight; }
  .is-marked > .route-link { border-left:2px solid Highlight; }
}
