/* A small, honest edge reference during real hand interaction closeups. */
.route-objective-pin .objective-edge{display:none;font-size:8px;font-style:normal;font-weight:500;color:#b9d8e1;line-height:1.2}
.route-objective-pin[data-offscreen=true] .objective-edge{display:block}
.viewport[data-action-framing=action] .objective-goal{max-width:min(145px,calc(100% - 12px));padding:4px 6px;background:#16313cf2}
.viewport[data-action-framing=action] .objective-goal small{font-size:8px}
.viewport[data-action-framing=action] .objective-goal b{font-size:10px}
.route-objective-layer line[data-offscreen=true]{stroke-dasharray:3 3}
@media(max-height:600px) and (min-width:600px){.viewport[data-action-framing=action] .objective-goal{padding:3px 5px}.viewport[data-action-framing=action] .objective-goal b{font-size:9px}}

/* Pausing reveals one note in an already reserved row, so the field and its
   native frozen camera do not resize just because the note appears. */
.route-watch-controls:not([hidden]) #observe-note[hidden]{display:block!important;visibility:hidden}
.route-watch-controls:not([hidden]) #observe-note{min-height:15px}

.motion:has(.route-watch-controls:not([hidden])) .route-watch-controls{flex:1;display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));gap:6px}
.route-watch-controls:not([hidden]) button{min-width:44px;padding:8px 5px;font-size:10px;white-space:nowrap}
.route-watch-controls:not([hidden]) #observe-next[hidden]{display:block!important;visibility:hidden}
.route-watch-controls:not([hidden]) #observe-note{grid-column:1/-1}
